As someone with 45+ years of experience in the Transaction and Message Processing world, I have seen many "MQ" solutions that have come into the market place. From my perspective, while each product has its sweet spot that it tries to address, IBM's MQ (aka MQSeries) is the only one I would select to build applications upon.
The reasons are many, but just to note that IBM MQ has been around for 28+ years, runs on many different platforms, allows one to use just about any Programming Language and has the support of a very dedicated set of smart and passionate professionals who continuously enhances its capability so that it will be around for the next 50+ years., tells me that I can't go wrong with IBM MQ as my one and only Messaging Middleware.
I know that cost consideration drives many decisions, and there are so-called "free" alternatives to select from in the MQ market place, but ask yourself, is there really anything that is truly free that is worthwhile investing in?
The importance of being able to assure that messages get to where you send them, once and once only is often overlooked, and if one focuses on what is really important, you will find that IBM MQ is worth every penny you pay for a supported licence version for your Production Environments.
IBM allows the "no-cost" use of MQ for Developers, and this is a good deal.
After doing comprehensive research on the different MQ software options available on the market, I came to the conclusion that the top two are IBM MQ and Apache Kafka. Here’s why.
IBM MQ is a rich, highly reliable, and stable messaging platform. Without a doubt, you can feel comfortable that as soon as a message is pushed into your IBM MQ, it will be delivered to its destination without fail. You can even send thousands of messages at the same time without any issue. I think the best part about the solution is that messages never get lost, even if you have server or network problems.
In addition, the solution can be configured quite easily and it has a simple UI. It also has effective authorization management, with minimum effort needed for administration. The storage is flexible and you can easily connect to target systems. Whatsmore is the flexibility of the application is vast and very straightforward and it can do a lot of customizations and parameters. Furthermore, it can be easily integrated with other platforms. It is very easy to access when traveling, and does a fantastic job at securing your data that is at rest or on the move without altering applications.
The only downside I can think of is that IBM MQ is a bit expensive and sometimes IBM lacks quick response times if a support ticket is logged with them.
Apache Kafka comes in at a close second to IBM MQ. First of all, it is open source, has granular message retention options, and also provides good third-party support. I think one of its most valuable features is the architectural style of messaging or event streaming. Messages can be transported very quickly and can be changed very quickly, too. I also like it because messages are automatically stored based on parameter setup of retention policy. In addition, with Apache Kafka, messages can be configured from a few milliseconds up to years. Scalability and availability of messages can be changed with zero maintenance and you don't need extra clusters to achieve high availability for the messaging system like Veritas, PowerHA, or others. If that’s not enough, it has other advantages like great performance, and is easy to integrate with big data technologies. Like IBM MQ, due to its distributed nature, Apache Kafka is capable of operating very quickly and can handle millions of messages every second.
Apache Kafka can have a big memory and/or disk footprint depending on your scenario. Be prepared to delegate resources if your amount of data gets more and more. Kafka is lean by default, but it does require memory (in-memory storage) and disk (offloading) to keep your data. Apache Kafka also has an abundance of options for managing and maintaining queues, which is helpful.
The downside to Apache Kafka is that it is a community-made Java application that looks and feels kind of like it’s from the past century, so you may feel that it is a bit dated.
All in all, both solutions are fantastic but I would say IBM MQ is slightly more powerful than Apache Kafka.
These four pillars -
Developer ExperienceObservabilityPerformance and EfficiencyStabilityNo question at all that Kafka and RabbitMQ dominate the market, but they also hold multiple challenges. If you do want the "big 4" without compromising simplicity and ease of use, I recommend Memphis.dev.
Hello,
I'm working at a university and currently, I'm researching Message Queue (MQ) Software, such as Amazon SQS, Anypoint MQ, IBM MQ and Apache Kafka.
I would like to hear about examples of using asynchronous messages in request/response messaging patterns. What SW would you recommend?
VP of Data and Analytics at a tech services company with 201-500 employees
Oct 18, 2021
I would recommend Apache Kafka as the preferred option.
It is an open-source project and has most of the user community members to contribute/enhance. It is relatively mature.
Hi - this is a really good page to understand more about the differences between message queuing technologies and Kafka: https://developer.ibm.com/arti...
In short, if you need conversational messaging (request/response) or targeted reliable delivery (exactly-once delivery), and you don't need the data stored for historical purposes then message queuing is perfect.
If you want to expose data for insight and status, and you don't have a specific intended recipient for that data, then something like Kafka (or a software product that offers publish/subscribe capabilities) is a good fit.
In terms of products, IBM MQ is the market leader (both in terms of capabilities and the number of customers using the technology in production) for Message Queuing and it also provides support for fine-grained events through Pub/Sub capabilities. Many of the world's leading banks, healthcare organizations, manufacturing businesses, etc use IBM MQ either on-premise in their own private data centers or on the public cloud.
If you want to try it out, here is a really good set of developer materials to get you started and there is a badge at the end to demonstrate that you can create a production-ready messaging solution. It takes about 2 hours to complete: https://developer.ibm.com/lear...
PeerSpot’s crowdsourced user review platform helps technology decision-makers around the world to better connect with peers and other independent experts who provide advice without vendor bias.
Our users have ranked these solutions according to their valuable features, and discuss which features they like most and why.
You can read user reviews for the Top Message Queue (MQ) Software to help ...
https://docs.memphis.dev/memph...
Hi
As someone with 45+ years of experience in the Transaction and Message Processing world, I have seen many "MQ" solutions that have come into the market place. From my perspective, while each product has its sweet spot that it tries to address, IBM's MQ (aka MQSeries) is the only one I would select to build applications upon.
The reasons are many, but just to note that IBM MQ has been around for 28+ years, runs on many different platforms, allows one to use just about any Programming Language and has the support of a very dedicated set of smart and passionate professionals who continuously enhances its capability so that it will be around for the next 50+ years., tells me that I can't go wrong with IBM MQ as my one and only Messaging Middleware.
I know that cost consideration drives many decisions, and there are so-called "free" alternatives to select from in the MQ market place, but ask yourself, is there really anything that is truly free that is worthwhile investing in?
The importance of being able to assure that messages get to where you send them, once and once only is often overlooked, and if one focuses on what is really important, you will find that IBM MQ is worth every penny you pay for a supported licence version for your Production Environments.
IBM allows the "no-cost" use of MQ for Developers, and this is a good deal.