If you're looking for low latency messaging, here's an interesting comparison of some of the more popular MQ products: ZeroMQ, RabbitMQ, ActiveMQ and MSMQ. As the author noted, ZeroMQ is a different beast to the others, as it has a broker-less, peer-to-peer architecture - meaning that it doesn't require a standalone, single-point-of-failure server process.
The benchmark results are startling to say the least: ZeroMQ stands tall over the others, it's like placing the Burj Khalifa next to Big Ben.
However the results are easily debunked. (Debunked is probably the wrong word, as the author does state that ZeroMQ shouldn't really be part of the test). Without doubt ZeroMQ is a quality product, an extremely fast client; but it doesn't provide non-durable queues, meaning it isn't failsafe, and you'll need to provide your own auditing and recovery. An in-memory process is always going to outperform an equivalent process that regularly huffs its data out to disk.
But needs vary, and if you need "very" low-latency messaging (say 10,000 messages/second with latencies under 200ms), a non-broker-based architecture like ZeroMQ or 29West is needed.
There are plenty of other high-performance messaging solutions out there, of course: Kafka, RavenMQ, HornetQ, the Spread Toolkit, 29West (or Informatica Ultra Messaging as it is now) and of course Tibco EMS.






