How to pick between RabbitMQ and ZeroMQ or something else?

I'm looking for a queuing system which is fast and reliable and potentially can be spread across machines. Platform is Linux. Open source is preferable.

Both RabbitMQ and ZeroMQ look good but I have no experience with these or any other queuing systems. Can you point me in the right direction?


ZeroMQ and RabbitMQ both support an open messaging protocol called AMQP. The advantage to AMQP is that it’s designed to be a highly-robust and open alternative to the two commercial message queues out there (IBM and Tibco).

However, ZeroMQ doesn’t support message persistence across crashes reboots. That leaves us with RabbitMQ. (That being said if you don’t need persistence ZeroMQ is pretty darn interesting…incredibly low latency and flexible topologies).


I did a very basic evaluation of ZeroMQ, RabbitMQ, MSMQ and ActiveMQ a while back. http://mikehadlow.blogspot.com/2011/04/message-queue-shootout.html


Detailed description is here. But please dont 100% rely on this. 3 things have 3 targets.

Message queue evaluation notes

For a transaction based real-time fast data dissemination is good with ZeroMQ. High message reliability is best with RabbitMQ. Intermideate solution is ActiveMQ