RabbitMQ Review

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


What is most valuable?

  • 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

How has it helped 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!

What needs 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.

For how long have I used the solution?

I have used this solution for around two years.

What do I think about the stability of the solution?

There were no stability issues.

What do I think about the scalability of the solution?

There were no scalability issues.

How is customer service and technical support?

The documentation from the internet is good.

How was the initial setup?

The setup was pretty straightforward.

Which other solutions did I evaluate?

I have looked at Apache ActiveMQ and Kafka.

What other advice do I have?

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
Guest
Sign Up with Email