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.
"It eases our current data flow and framework."
"The main advantage is increased reliability, particularly with regard to data and the speed with which messages are published to the other side."
"Kafka is an open-source tool that's easy to use in our country, and the command line interface is powerful."
"It seemed pretty stable and didn't have any issues at all."
"The most valuable feature of Apache Kafka is its versatility. It can solve many use cases or can be a part of many use cases. Its fundamental value of it is in the real-time processing capability."
"Apache Kafka is actually a distributed commit log. That is different than most messaging and queuing systems before it."
"The connectors provided by the solution are valuable."
"valuable features relate to microservices architecture and working on KStream and KSQL DB as a microservices event bus."
"It's ability to scale, it's ability to do guaranteed delivery and it's ability to do point-to-point of what we subscribe are the most valuable features."
"Reliable integration between MQ servers is the most valuable feature."
"IBM MQ is the right choice because of the stability and the performance. And from the support perspective, it's enough to have a really small team."
"I think the whole product is useful. Their database and all is very good, and the product is fine. The fact that it ensures message delivery is probably the most important thing. I also like that you're able to trace and track everything. If it doesn't arrive at the destination, it will go back to the queue, and no message will be lost."
"The methodology and the way in which the platform has been produced as a standard is most valuable. There are so many different versions of it now, but the actual basic functionality and the simplicity of it have made it far easier to be implemented in so many different instances. When I worked with the OS/2 or PS/2 machine environment, the messaging mechanisms were based upon IBM MQ. It is so versatile, which is the main reason that I'm a fan of it."
"We like IBM MQ for our synchronous communications and transactional applications that require a lot of CPS."
"It also has a backup queue concept and topics, features that I have not seen anywhere else. I like these features very much."
"The most valuable feature is the interaction within the system."
"would like to see real-time event-based consumption of messages rather than the traditional way through a loop. The traditional messaging system works by listing and looping with a small wait to check to see what the messages are. A push system is where you have something that is ready to receive a message and when the message comes in and hits the partition, it goes straight to the consumer versus the consumer having to pull. I believe this consumer approach is something they are working on and may come in an upcoming release. However, that is message consumption versus message listening."
"There is a lot of information available for the solution and it can be overwhelming to sort through."
"The UI is based on command line. It would be helpful if they could come up with a simpler user interface."
"More Windows support, I believe, is one area where it can improve."
"Kafka is complex and there is a little bit of a learning curve."
"They need to have a proper portal to do everything because, at this moment, Kafka is lagging in this regard."
"While the solution scales well and easily, you need to understand your future needs and prep for the peaks."
"As an open-source project, Kafka is still fairly young and has not yet built out the stability and features that other open-source projects have acquired over the many years. If done correctly, Kafka can also take over the stream-processing space that technologies such as Apache Storm cover."
"More documentation would be good because some features are not deeply implemented."
"IBM MQ could improve by adding more protocols or APIs for a standard application, such as MuleSoft."
"IBM MQ's pricing is higher than its competitors'."
"The solution should offer a freeware version, free vouchers, or certifications for learning purposes and building knowledge base."
"The clustering capabilities have provided some difficulties when it comes to resiliency. This has been a challenge for managing the environment."
"I would just like a more user-friendly experience to do common administration tasks. I know that you can use MQ Explorer, but having something that's already built in would definitely be useful."
"Sometimes, not all messages are consumed in the queues. File transfers need improvement."
"We are looking at the latest version, and we hope that resilience, high availability, and monitoring will be improved. It can have some more improvements in the heterogeneous messaging feature. The current solution is on-premises, so good integration with public cloud messaging solutions would be useful."
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 Amazon SQS. 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.