RabbitMQ is a free and open-source message broker that is maintained by Pivotal Software.
RabbitMQ was created with Erlang language and it has clients for most programming languages.
RabbitMQ is known to have powerful routing abilities when you gather the combination of its exchanges and queues.
It also supports different types of queues for different purposes.
IBM MQ is a proprietary message queue from IBM.
It was created with Java and has clients in outer programming languages.
You need to purchase the license to have full access to IBM MQ Advanced.
The Advanced has all the features and is what you should use in production.
The basic version is however free for use during development.
IBM MQ works with queue managers in the cloud or in Docker.
IBM MQ supports features like multicast and Advanced Message Security.
Memphis is a free, modern, and open-source message broker that is maintained by the Memphis team.
It was created with the Go programming language and has clients in other programming languages.
Memphis is fast and can handle large data at various scales.
It is simple to use and is good for team or group work.
As we can see, the differences between RabbitMQ, IBM MQ, and Memphis are in their programming language, open-source-ness, and how they work.
RabbitMQ was built with Erlang and is free.
IBM MQ was built with Java and it is purchasable.
Memphis was built with Go and is free.