We performed a comparison between Apache Kafka and IBM MQ based on our users’ reviews in four categories. After reading all of the collected data, you can find our conclusion below.
Comparison Results: Both products are moderately easy to install, robust, and high-performing. The main advantage of Apache Kafka is that it is free of charge but still offers adequate technical support solutions.
"The processing power of Apache Kafka is good when you have requirements for high throughput and a large number of consumers."
"The most valuable features of the solution revolve around areas like the latency part, where the tool offers very little latency and the sequencing part."
"When comparing it with other messaging and integration platforms, this is one of the best rated."
"The most valuable feature is the documentation, which is good and clear."
"Kafka's most valuable feature is its user-friendliness."
"The high availability is valuable. It is robust, and we can rely on it for a huge amount of data."
"The stream processing is a very valuable aspect of the solution for us."
"Kafka, as compared with other messaging system options, is great for large scale message processing applications. It offers high throughput with built-in fault-tolerance and replication."
"Combined with IBM MQ, this product is our primary data store."
"The high availability and session recovery are the most valuable features because we need the solution live all day."
"The most valuable feature is the interaction within the system."
"The most valuable feature of IBM MQ is it has all the features necessary for contemporary messaging, not only for the financial industry but for any application."
"IBM MQ is robust compared to other products in the market. It also gives you support from the IBM team."
"The scalability of IBM MQ is good."
"There are a lot of extensible options for security, i.e., various things you can do. It's pretty easy to navigate."
"The message queue and the integration with any development platform/language, i.e., NET and Java, are the most valuable features."
"In the next release, I would like for there to be some authorization and HTL security."
"The initial setup and deployment could be less complex."
"The solution's initial setup process was complex."
"The solution can improve its cloud support."
"Kafka's interface could also use some work. Some of our products are in C, and we don't have any libraries to use with C. From an interface perspective, we had a library from the readies. And we are streaming some of the products we built to readies. That is one of the requirements. It would be good to have those libraries available in a future release for our C++ clients or public libraries, so we can include them in our product and build on that."
"Kafka does not provide control over the message queue, so we do not know whether we are experiencing lost or duplicate messages."
"In Apache Kafka, it is currently difficult to create a consumer."
"The management overhead is more compared to the messaging system. There are challenges here and there. Like for long usage, it requires restarts and nodes from time to time."
"I believe the stability of the product has decreased since we began using it initially."
"It is expensive. The cost is high. There should be more improvement in the new age of technologies."
"It should support a wider range of protocols, not just a few specific ones. Many other products have broader protocol support, and IBM MQ is lagging in that area."
"They have provided a Liberty Profile in the Web Console for administration, and that could be further enhanced. It is not fit for use by an enterprise. They have to get rid of their WebSphere process and develop a front-end on Node.js or the like."
"The initial setup is difficult. Creating your own cluster is difficult. Working with cluster repositories is difficult. Issue management with IBM MQ is difficult."
"It could provide more monitoring tools and some improvement to the UI. I would also like to see more throughput in future versions."
"IBM MQ could improve by adding more protocols or APIs for a standard application, such as MuleSoft."
"It would be an advantage if they can include streaming in IBM MQ, similar to Kafka. Kafka is used mainly for streaming purposes. This feature is clearly lacking in IBM MQ. If they add this feature to IBM MQ, it will have an edge over other products."
Apache Kafka is ranked 1st in Message Queue (MQ) Software with 78 reviews while IBM MQ is ranked 2nd in Message Queue (MQ) Software with 158 reviews. Apache Kafka is rated 8.0, while IBM MQ is rated 8.4. The top reviewer of Apache Kafka writes "Real-time processing and reliable for data integrity". On the other hand, the top reviewer of IBM MQ writes "Offers the ability to batch metadata transfers between systems that support MQ as the communication method". Apache Kafka is most compared with Amazon SQS, Red Hat AMQ, Anypoint MQ, PubSub+ Event Broker and VMware Tanzu Data Services, whereas IBM MQ is most compared with ActiveMQ, VMware Tanzu Data Services, Red Hat AMQ, PubSub+ Event Broker and Anypoint MQ. See our Apache Kafka vs. IBM MQ report.
See our list of best Message Queue (MQ) Software vendors.
We monitor all Message Queue (MQ) Software reviews to prevent fraudulent reviews and keep review quality high. We do not post reviews by company employees or direct competitors. We validate each review for authenticity via cross-reference with LinkedIn, and personal follow-up with the reviewer when necessary.
It is like comparing apples to oranges. Mq is focus on enabling the communication between two different programs in different systems and guaranteeing the delivery of the messages where Kafka has specialized on the generation of events by a source system that are catch by "listener" programs.
MQ is point to point, if the receiving program reads the message from the queue, it dissapears, in the case of Kafka as the event is read by a "listener" program, the event is still there as there could be more then one program that has subscribed to the so called "topic".
So, as mention in another answer, it depends from the use case. If you have for example a front end program that communicated with a very bad bandwith to another program and you have to send critical data, the best solution could be MQ. If you have an "card stolen" application that needs to alert different systems, you could publish the "stolen" event in the front end app and have any number of system listening to this event.
Of course it is also valid the argument that Kafka is open source and IBM MQ is propietary but if you are considering a production environment you can find different vendors (including IBM) that provide products based on Kafka open source.
Apache Kafka is open source and can be used for free. It has very good log management and has a way to store the data used for analytics. Apache Kafka is very good if you have a high number of users. This tool has great scalability with high throughput and a very helpful supportive online community.
However, Kafka does not provide control over the message queue, so it is difficult to know whether messages are being delivered, lost, or duplicated. We would like to see more adapters for connecting to different systems made available. I think this would be a better product if the graphical user interface was easier. The manual calculations needed for this solution can be difficult. If the process was automated, it would be a much better product.
IBM MQ has a very strong reputation and is very robust with great stability. This solution is easy to use, simple to configure, and integrates well with our enterprise ecosystem and protocols. IBM ensures message delivery. You can track and trace everything. If a message doesn’t arrive at its destination, it will go back to the queue; this ensures no message is ever lost. This is a huge selling point for us.
IBM MQ does not handle huge volume very well, though. There are some limitations to the queues. If these limitations could be relaxed, it would be a better product for us. You have to license per application and installation, so scaling up can get very costly very quickly.
Conclusion
Apache Kafka is a cost-effective solution for high-volume, multi-source data collection. If you are in a high-growth trajectory and if total message accountability and tracking is not a huge issue for you, this solution may work well for you.
IBM MQ is a licensed product and can be very expensive, it also does not scale easily, which can be very problematic. IBM MQ requires a definite skillset that not many people have, which can be an issue for some and it affects the fast responsive support of this solution.