- The publisher and consumer ACK
- High availability
- Queue mirroring
- Exchanges and topics
- Supported programming languages with well-tested libraries
It provides us with a much better scale. We have never lost a single message with RabbitMQ.
The shared RabbitMQ Cluster has improved stability and maintainability of each application. We only have one message bus now.
I want it to reorder messages in a queue, if possible. If you could reorder messages in a queue directly, then you would not need a sequencer to reorder messages outside of RabbitMQ.
I have used this solution for seven years.
There were no stability issues.
There were no scalability issues.
We haven’t needed to use any support yet.
Initially, we were using the BizTalk and Redis solutions. The reason why we switched over was because we were looking for better support in Celery task management and other programming languages. We were looking for a much more stable and secure solution.
It is very simple to set up for basic usage. Clustering is a bit more complex, but it is also easy to do.
The RabbitMQ open source version works fine for almost all the use cases that I came across.
We looked at the Redis solution, but it was not a good fit for our needs.
Read the documentation and follow best practices. Make sure Erlang is up to date!