Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Concise Comparison of RabbitMQ, ActiveMQ, and ZeroMQ Message Brokers

DZone's Guide to

A Concise Comparison of RabbitMQ, ActiveMQ, and ZeroMQ Message Brokers

Free Resource

Discover how developers can easily discover existing APIs and back-end data sources and create new APIs and microservices based on the popular open-source Node.js Express and LoopBack® frameworks.  Brought to you in partnership with IBM.

I found a good, simple, and short description of three well-known open source message queues - ActiveMQ, RabbitMQ, and ZeroMQ.  The descriptions are especially useful because they draw useful comparisons between the three brokers.  They were written in 09' but edited late last year.


Credit goes to Julien and Endy Tjahjono for these descriptions on SO:


RabbitMQ is one of the leading implementation of the AMQP protocol (along with Apache Qpid). Therefore, it implements a broker architecture, meaning that messages are queued on a central node before being sent to clients. This approach makes RabbitMQ very easy to use and deploy, because advanced scenarios like routing, load balancing or persistent message queuing are supported in just a few lines of code. However, it also makes it less scalable and “slower” because the central node adds latency and message envelopes are quite big.

ZeroMQ is a very lightweight messaging system specially designed for high throughput/low latency scenarios like the one you can find in the financial world. Zmq supports many advanced messaging scenarios but contrary to RabbitMQ, you’ll have to implement most of them yourself by combining various pieces of the framework (e.g : sockets and devices). Zmq is very flexible but you’ll have to study the 80 pages or so of the guide (which I recommend reading for anybody writing distributed system, even if you don’t use Zmq) before being able to do anything more complicated that sending messages between 2 peers.

ActiveMQ is in the middle ground. Like Zmq, it can be deployed with both broker and P2P topologies. Like RabbitMQ, it’s easier to implement advanced scenarios but usually at the cost of raw performance. It’s the Swiss army knife of messaging :-).

Finally, all 3 products:
   •   Have client APIs for the most common languages (C++, Java, .Net, Python, Php, Ruby, …)
   •   Have strong documentation
   •   Are actively supported

Learn about the comprehensive capabilities to create, run, manage, secure and monetize APIs and microservices with API Connect.  Brought to you in partnership with IBM.

Topics:
java ,integration ,activemq ,rabbitmq ,zeromq

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}