message queue : selection and sizing
- I have 20 messages/s, each 1 - 1.5 Mbytes.
- I need High Availability (2 to 4 servers min).
- I need low latencey (high daily volume -> full RAM prefered).
- I开发者_运维问答 need persistent poisoned messages queue.
- Only few clients (about 16), locally.
- I can have 12-16G bytes RAM per server (brooker).
Which JMS message queue / messaging would you recommend ?
On what configuration (CPU/RAM) ?Can I propose optionnal NAS persistence (in case of final delivery failure) ?
Thanks
If you were to use WebSphere MQ you would need NFS v4 instead of NAS but other than that it fits your requirements if tuned accordingly. I would configure it with:
- Circular logging for performance
- NPMCLASS(HIGH) persists the messages on normal shutdown but can lose them in event of failure. Provides high performance in-memory transfers, deferring write until memory buffers overflow or QMgr is shut down.
- BOQNAME/BOQTHRESH to automatically requeue poison messages after BOQTHRESH backouts.
- WebSphere MQ cluster for workload balancing and horizontal scaling.
- A supported UNIX/Linux platform.
I'm just guessing about the hardware requirements but I've seen very good throughput on average hardware. There are platform-specific performance reports available at the http://bit.ly/WMQSupportPacs page. They are the ones named MP*.
- 8 to 10 GB of memory
- 4-CPU
You'd definitely want to use WMQ v7 for this, on both the server side and the client side, instead of an earlier version.
Full disclosure: I'm an IBMer, I specialize in WMQ and I don't have any comparative suggestions for other transport providers. I trust others will weigh in so you can get a good survey of available choices, though.
精彩评论