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 like the performance and reliability of Kafka. I needed a data streaming buffer that could handle thousands of messages per second with at least one processing point for an analytics pipeline. Kafka fits this requirement very well."
"Good horizontal scaling and design."
"Kafka provides us with a way to store the data used for analytics. That's the big selling point. There's very good log management."
"We appreciate the ability to persistently and quickly write data, as well as the flexibility to customize it for multiple customers. Additionally, we like the ability to retain data within Apache Kafka and use features, such as time travel to access past customer data. The connection with other systems, such as Apache Kafka and IBM DB2."
"The stability is very nice. We currently manage 50 million events daily."
"The main advantage is increased reliability, particularly with regard to data and the speed with which messages are published to the other side."
"Excellent speeds for publishing messages faster."
"The ability to partition data on Kafka is valuable."
"I like the architecture it provides seamlessly for assured delivery."
"The solution is stable."
"Reliable messaging and throughput are the most valuable."
"IBM MQ is robust compared to other products in the market. It also gives you support from the IBM team."
"IBM MQ's flexibility has sped up our active communication."
"Has helped integrate between applications, reduce rework, and costs by reusing working components of existing applications."
"It offers better reliability and monitoring compared to other tools."
"The reliability of the queuing is the most valuable feature."
"There have been some challenges with monitoring Apache Kafka, as there are currently only a few production-grade solutions available, which are all under enterprise license and therefore not easily accessible. The speaker has not had access to any of these solutions and has instead relied on tools, such as Dynatrace, which do not provide sufficient insight into the Apache Kafka system. While there are other tools available, they do not offer the same level of real-time data as enterprise solutions."
"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."
"The interface has room for improvement, and there is a steep learning curve for Hadoop integration. It was a struggle learning to send from Hadoop to Kafka. In future releases, I'd like to see improvements in ETL functionality and Hadoop integration."
"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."
"In Apache Kafka, it is currently difficult to create a consumer."
"Lacks elasticity and the ability to scale down."
"I would like to see monitoring service tools."
"Maintaining and configuring Apache Kafka can be challenging, especially when you want to fine-tune its behavior."
"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."
"The solution should offer a freeware version, free vouchers, or certifications for learning purposes and building knowledge base."
"It could provide more monitoring tools and some improvement to the UI. I would also like to see more throughput in future versions."
"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."
"What could be improved is the high-availability. The way MQ works is that it separates the high-availability from the workload balance. The scalability should be easier. If something happens so that the messages are not available on each node, scalability is only possible for the workload balance."
"Presenting and maybe having some different options for different user experiences based on the administrative duties that you have to do as an app manager or configure the server or security would be an improvement."
"While there is support for API, it's not like the modern API capabilities."
"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."
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 157 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 "Reliable and stable solution that includes support from the IBM technical team". 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 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.