RabbitMQ Review

The exchange and out-of-the-box queuing are a couple of our favorite features.


What is most valuable?

One of our favorite features is the exchange. The queuing out-of-the-box is awesome. Also, due to the clustering, our system was highly available.

How has it helped my organization?

It made our system more scalable, resilient and easy to maintain.

What needs improvement?

Support for Windows systems needs to improve. This could move Microsoft shops away from it. We provisioned Linux servers specifically for our RabbitMQ servers.

RabbitMQ clusters run on two kinds of protocols: AMQP and HTTP. The one we were using was AMQP (this requires all your cluster nodes to be in the same network partition). With our Windows servers, every time we used to run Puppet, RabbitMQ used to think it got partitioned. This problem never occurred in our Linux cluster.

All this is subjective. Maybe we were doing something wrong. There are a few other things which they have listed here: https://www.rabbitmq.com/windows-quirks.html Overall, I don't think it's RabbitMQ's fault because Windows can be a problematic OS at times.

So, I would recommend using Linux servers instead of Windows servers for a RabbitMQ cluster.

For how long have I used the solution?

We have used RabbitMQ for 1 year now.

What do I think about the stability of the solution?

Other than the fact that our Windows cluster would experience network partitions for no reason (could be due to Puppet), we had no other stability issues. We stress-tested the servers, as well, and they responded really well.

What do I think about the scalability of the solution?

Its really easy to scale.

How is customer service and technical support?

We never used technical support.

Which solutions did we use previously?

We had a monolith application. This was our solution to have more of a micro-service architecture

How was the initial setup?

Initial setup was decently elaborate. The documentation is good but there are a few quirks in the case of Windows. The RabbitMQ processes would be running but the status would show that it is down. The solution was to stop and restart the process. This only happened on Windows.

Which other solutions did I evaluate?

We also evaluated ZeroMQ and EasyNetQ.

What other advice do I have?

It is a really good solution if you require queuing with the competing consumer and multicast routing out of the box. It’s a bit too elaborate if you need just simple message queuing.

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