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.
"I have seen a return on investment with this solution."
"The valuable features are the group community and support."
"The publisher-subscriber pattern and low latency are also essential features that greatly piqued my interest."
"It is a stable solution...A lot of my experience indicates that Apache Kafka is scalable."
"The use of Kafka's logging mechanism has been extremely beneficial for us, as it allows us to sequence messages, track pointers, and manage memory without having to create multiple copies."
"Ease of use."
"It's very easy to keep to install and it's pretty stable."
"The stability is very nice. We currently manage 50 million events daily."
"Reliability is the most valuable feature. MQ is used to support critical business applications."
"The high availability and session recovery are the most valuable features because we need the solution live all day."
"The solution is easy to use and has good performance."
"I haven't seen any issues with respect to the message loss."
"Reliable integration between MQ servers is the most valuable feature."
"We use our routing feature when the request is coming from the business application. The request goes to the distributive side and it is routed to the right claim instance."
"IBM MQ deals mainly with the queuing mechanism. It passes the data and it publishes it. These two abilities are the most valuable features."
"It is very robust and very scalable."
"Apache Kafka can improve by making the documentation more user-friendly. It would be beneficial if we could explain to customers in more detail how the solution operates but the documentation get highly technical quickly. For example, if they had a simple page where we can show the customers how it works without the need for the customer to have a computer science background."
"Stability of the API and the technical support could be improved."
"We struggled a bit with the built-in data transformations because it was a challenge to get them up and running the way we wanted."
"I suggest using cloud services because the solution is expensive if you are using it on-premises."
"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 would like them to reduce the learning curve around the creation of brokers and topics. They also need to improve on the concept of the partitions."
"The user interface is one weakness. Sometimes, our data isn't as accessible as we'd like. It takes a lot of work to retrieve the data and the index."
"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."
"At a recent conference, I went to a presentation that had the latest version and it has amazing stuff that's coming out. So, I am excited to use those, specifically surrounding the web console and the fact that it's API integrated."
"They probably need to virtualize the MQ flow and allow us to design the MQ flow using the UI. It would also help to migrate to the cloud easily and implement AWS Lambda functions with minimum coding. If you have to code, then just with NodeJS or Java."
"I'm not sure that current version has event-driven mechanism requests that people go for. I would like the latest version to come with both type of event mechanisms: an email server and a POP server. If that is not there, then that would be a great addition."
"I believe there is too much code to be done in order to handle the elements that you develop."
"I would like less updates from IBM MQ."
"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."
"With IBM products, there's less marketing. If they do more demos and more seminars on their products, it will be very useful. On a given day. I get seminar invites for many vendors and products, but for IBM, I may get an invite once or twice a year."
"They need to add the ability to send full messages (header + payload) from the MQ Explorer program, not just the payload."
Apache Kafka is ranked 1st in Message Queue (MQ) Software with 76 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 "Great access to multiple devices, with stability, at an affordable price". 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 RabbitMQ, whereas IBM MQ is most compared with ActiveMQ, VMware RabbitMQ, Red Hat AMQ, Amazon SQS and PubSub+ Event Broker. 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.