- AMQP protocol
- The simplicity to set up a cluster
- All patterns available (Topic, Routing, RPC, etc.)
- Enables you to provide a response to most problems encountered
I introduced RabbitMQ to my company to bring about more scalability and redirect asynchronous tasks outside of the frontal web servers.
I have used this solution for around two years.
There were no stability issues.
There were no scalability issues.
The documentation from the internet is good.
The setup was pretty straightforward.
I have looked at Apache ActiveMQ and Kafka.
This product is fantastic. Before you use it, make sure you analyze your real needs. In the world of message brokers, there is no single solution. Today, you have solutions that are specialized for specific use cases.
For instance, you have the NATS solution which is another great message broker tool. It is focused on handling a tremendous number of topics and messages per second and it consumes few resources.
However, it’s not as resilient as Kafka. Kafka can replay all the messages received from a date range. However, this one can handle fewer topics.
NATS is written in Golang. Golang is the Go programming language, which I love.