The benchmarks are pretty interesting and potentially useful for anyone trying to pick a message queue for their next project. You can see from the results why ZeroMQ is so popular these days. It doesn't make sense for every scenario, but if you can fit it nicely into your architecture, you should probably do it, since it crushed the competition in almost every test scenario.
I decided to bench the following brokers:
- ActiveMQ 5.8.0 with STOMP protocol
- RabbitMQ 3.0.2 with STOMP and AMQP protocols
- HornetQ 2.3.0 with STOMP protocol
- Apollo 1.6 with STOMP protocol
- QPID 0.20 (Java broker) with AMQP protocol
- A home-made ZeroMQ 2.2.0 broker, working in memory only (no persistence).
The tests were run on a single laptop with this configuration:
- Model: Dell Studio 1749
- CPU: Intel Core i3 @ 2.40 GHz
- RAM: 4 Gb
- OS: Windows 7 64 bits
- Ruby 1.9.3p392
- Java 1.7.0_17-b02
- Ruby AMQP client gem: amqp 0.9.10
- Ruby STOMP client gem: stomp 1.2.8
- Ruby ZeroMQ gem: ffi-rzmq 1.0.0
Benchmark: ActiveMQ, RabbitMQ, HornetQ, QPID, and Apollo
The Integration Zone is brought to you in partnership with Red Hat. Use these flashcards along with the popular open source integration framework Apache Camel as an easy reference during the design and development of integration projects.