Face-off in Message Queue Reviews: IBM MQ vs. RabbitMQ vs. Apache Kafka

| |

What do enterprise tech professionals look for when choosing a Message Queue solution? In this week’s Face-off between Message Queue reviews, IT Central Station users discuss features such as software reliability, stability, robustness, usability, and high-scale distributed messaging. Their reviews also address the users’ main use-cases for their Message Queue solution of choice, as well as where they suggest room for improvement.


Valuable Features

Donna Fawcett describes IBM MQ as “the cornerstone for the billing system for cable” at her communications and media company, Rogers Communications. For Fawcett, MQ is “a very valuable piece of software” that interfaces with their (well over) 8 million customers.

“It’s very reliable and very stable” writes Toufic Abi Farraj, saying that “you can do a fast recovery in case of any failure.”

The “major benefit for MQ” says Payam Ghalili, is “messaging throughout multiple platforms”, explaining that his company (Fiserv) uses it “quite extensively to do messages between the iSeries and the mainframe.”

“Obviously, the biggest thing is that we’ll never lose a message” writes largesysfc05, sharing that “we use it for a lot of real-time information between our systems for integration.”

More so, largesysfc05 adds, under no circumstances can data be lost during the real-time integration, otherwise they “lose track of inventory, our manufacturing systems, sales orders and things like that.”

Room for Improvement

When it comes to room for improvement, Donna Fawcett points to price, as well as cloud functionality, explaining that getting more of the cloud and mobile experience(s) would “go farther in terms of the customer experience.”

Toufic Abi Farraj suggests “integration with the alert system”, explaining that this would alert his organization “of any failure of any message to be transmitted from one source to another.”

“A better user interface” argues director32c1, explaining that currently, the user interface is technician dependent, which automatically requires tech support. “It would be nice if we could provide better interfaces to see the queues, the channels and how they’re used, and the queue depths.”


Valuable Features

“The most valuable feature is its robustness” writes Todd Outten, explaining that “message queues need to be extremely reliable as they are the glue between system components.”

For GraduateTA901, not only is “its real-time capability of delivering the sensor data in different topic abstractions” very good, but it’s also “quite easy to setup in our sensor network system which involves data monitor agents across geographically distributed organizations.”

“One of our favorite features is the exchange” writes MidLevel24cf, adding that “the queuing out-of-the-box is awesome”, and that the clustering features allow their system to be highly available.

Jay Sardhara lists several valuable features for RabbitMQ, which include:

  • Message queuing
  • Good support
  • Provided scalability and a distributed environment
  • Easy usability with Node.js
  • Could easily withstand and pass stress/load testing with more than 10K API calls
  • Helped achieve a distributed environment and implement a 3-tier structure
  • Helped to develop a highly scalable system by decoupling front-end and back-end

ThomasS346 explains that when choosing a Message Queue solution, “performance and security were of the highest priority” and the main reason he chose RabbitMQ messaging frameworks.

For that reason, “authentication, performance, and durable messaging” are the most valuable features to him.

Apache Kafka

“We use the product for high-scale distributed messaging” explains kafkakid, adding that because it is a distributed platform, “the processing capability of the product is enormous” and multiple consumers can sync with it and fetch messages.

JavaDeve0c6d lists the following features as most valuable:

  • Replication: “good for high availability, provides additional safety for data in case of node failure or data center outage.”
  • Partitioning: “a really useful feature for parallelizing processing.”

JavaDeve0c6d explains further that because his media company uses Apache Spark to process data from a Kafka queue, “Spark is able to assign one executor to each Kafka partition, and the more partitions we have, the more threads we can use to process data in parallel.”
What do other users point to when comparing valuable features or areas for improvement among the various Message Queues on the market?

Read our entire collection of Message Queue reviews from the user community at IT Central Station.


New Storage Management Reviews: Roundup from Our Users

How I Used IT Central Station to Choose a Virtualization Management Tool