RabbitMQ Review
You can redirect asynchronous tasks outside of the frontal web servers.

Valuable Features

  • 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

Improvements to My Organization

I introduced RabbitMQ to my company to bring about more scalability and redirect asynchronous tasks outside of the frontal web servers.

  • Scalability was provided by the possibility to add on workers behind RabbitMQ. Asynchronous is the keyword for the message broker.
  • I started to split our monolith website and remove all the heavy processes from our web servers.
  • Dispatching the workload correctly helped to increase the response time.
  • The frontal web server must focus on replying and not on doing reports/PDFs. You must have a dedicated server for this.
  • The solution is written in Erlang. Erlang was built for telecommunication systems. One of its assets is that it can upgrade a service in production without downtime. That’s a good point!

Room for Improvement

  • Have more features such as being able to replay a sequence of what was received.
  • Handle more messages per second.
  • Consume fewer resources: NATS can handle millions of requests within a few minutes. RabbitMQ handles hundreds of requests with the same resources (RAM). Finding a way to be more efficient in this aspect would open them up to other markets, like IoT or embedded systems.

Use of Solution

I have used this solution for around two years.

Stability Issues

There were no stability issues.

Scalability Issues

There were no scalability issues.

Customer Service and Technical Support

The documentation from the internet is good.

Initial Setup

The setup was pretty straightforward.

Other Solutions Considered

I have looked at Apache ActiveMQ and Kafka.

Other Advice

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.

Add a Comment

Why do you like it?

Sign Up with Email