We just raised a $30M Series A: Read our story

VMware RabbitMQ OverviewUNIXBusinessApplication

VMware RabbitMQ is the #4 ranked solution in our list of top Message Queue Software. It is most often compared to IBM MQ: VMware RabbitMQ vs IBM MQ

What is VMware RabbitMQ?
  • RabbitMQ is the most popular open source message broker, with more than 35,000 production deployments world-wide. RabbitMQ is lightweight and easy to deploy on premises and in the cloud and runs on all major operating systems. It supports most developer platforms, multiple messaging protocols and can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.

VMware RabbitMQ is also known as RabbitMQ by Pivotal, Rabbit, RabbitMQ.

VMware RabbitMQ Buyer's Guide

Download the VMware RabbitMQ Buyer's Guide including reviews and more. Updated: October 2021

VMware RabbitMQ Video

Archived VMware RabbitMQ Reviews (more than two years old)

Filter by:
Filter Reviews
Industry
Loading...
Filter Unavailable
Company Size
Loading...
Filter Unavailable
Job Level
Loading...
Filter Unavailable
Rating
Loading...
Filter Unavailable
Considered
Loading...
Filter Unavailable
Order by:
Loading...
  • Date
  • Highest Rating
  • Lowest Rating
  • Review Length
Search:
Showingreviews based on the current filters. Reset all filters
MR
Head of Engineering at Contineo
Real User
Has a very useful management console but difficult to integrate with automated test and CICD

What is our primary use case?

  • Transaction processing between microservices
  • Message queue integration with Spring and RPC over Rabbit.

How has it helped my organization?

  • Quick and simple to implement
  • Easy to build proof-of-concept modules based on working examples from Pivotal.

What is most valuable?

  • Out-of-the-box setup and configuration
  • Great documentation and support from Pivotal
  • Very useful management console

What needs improvement?

  • Difficult to integrate with automated test and CICD 
  • Moving beyond basic configurations can be challenging
  • Not clear how to implement durable subscriber connections
  • Not clear how a Rabbit service restart allows subscriber auto re-connect
  • Service cluster failover depends on shared disk infrastructure.

For how long have I used the solution?

One to three years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
ITCS user
Senior Developer/Architect at a tech services company with 51-200 employees
Consultant
One crucial feature was guaranteed messaging. There are idiosyncrasies in the Windows version.

Pros and Cons

  • "We have been able to set up a messaging system that facilitates data integration between the software modules that we sell."
  • "RabbitMQ is clearly better supported on Linux than it is on Windows. There are idiosyncrasies in the Windows version that are not there on Linux."

What is our primary use case?

Asynchronous messaging; supporting data integrations between multiple applications on behalf of our many customers. RabbitMQ allows us to elegantly fan-out data to a variable number of subscribers, with almost zero effort.

How has it helped my organization?

We have been able to set up a messaging system that facilitates data integration between the software modules that we sell.

RabbitMQ allowed us to do this quickly so that we could focus on the business requirements, rather than divert our efforts to message broker implementations.

Once the architecture was proven, we were able to return to the RabbitMQ message layer in order to implement an HA cluster with a minimum of problems encountered.

Our business now has a fit-for-purpose information hub that we can apply across our systems. As the customer-base grows, we know that the hub can grow with it.

What is most valuable?

RabbitMQ is a solid, widely-used messaging system with a low cost-of-ownership. It is open, but with commercial support potentially available from Pivotal if required. (We have never needed it.) There is also a strong online user community.

One crucial feature was guaranteed messaging. We needed a solution that we could trust to not lose data.

Its built-in clustering capability allowed us to configure it as a highly available message broker, so that we can have confidence in the resilience of our architecture.

It can be scaled as well, although we have not tested this.

After almost two years' usage in our production environment, I am impressed by how stable the platform is - even when running on Windows Server 2012. Sure, we have had to tweak our set-up here and there as we have learned a few operational lessons along the way but overall it is very good.

What needs improvement?

RabbitMQ is clearly better supported on Linux than it is on Windows. There are idiosyncrasies in the Windows version that are not there on Linux.

The documentation for the Windows version is also less plentiful and less accurate.

The online community clearly provides better Linux support, but this naturally follows from the smaller Windows installed base.

There are also some potential concerns about how we maintain high-availability whilst also scaling out.

For how long have I used the solution?

Three to five years.

What do I think about the stability of the solution?

We have had no stability issues.

What do I think about the scalability of the solution?

We have not used the scalability features yet.

How are customer service and technical support?

We have not used technical support.

Which solution did I use previously and why did I switch?

No previous solution was used.

How was the initial setup?

The initial setup was straightforward. The online documentation was adequate and there is minimal initial configuration required to get up and running.

After that, it is simply a matter of experimentation with the various features and learning as you go.

What's my experience with pricing, setup cost, and licensing?

This is an open source solution.

Which other solutions did I evaluate?

We looked at MSMQ, NServiceBus, Azure Service Bus, and Apache Kafka.

What other advice do I have?

I would recommend that anyone who intends to deploy RabbitMQ on Windows should first consider whether a Linux implementation is a viable option for their situation.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Learn what your peers think about VMware RabbitMQ. Get advice and tips from experienced pros sharing their opinions. Updated: October 2021.
542,721 professionals have used our research since 2012.
it_user827274
IT Manager at a financial services firm with 10,001+ employees
User
Helps to remove a lot of the complexities and create a loosely coupled codebase

What is our primary use case?

I am still comparing RabbitMQ and Kafka, but based upon the information I have gathered RabbitMQ is an awesome tool.

How has it helped my organization?

RabbitMQ will help to remove a lot of the complexities and create a loosely coupled codebase.

What is most valuable?

I like the high throughput of 20K messages/sec, and that it supports multiple protocols. The flexible routing is great as well.

What needs improvement?

The next release should include some of the flexibility and features that Kafka offers.

For how long have I used the solution?

Still implementing.

Which solution did I use previously and why did I switch?

I have used IBM MQ software, but it was not applicable to this application.

Which other solutions did I evaluate?

I…

What is our primary use case?

I am still comparing RabbitMQ and Kafka, but based upon the information I have gathered RabbitMQ is an awesome tool.

How has it helped my organization?

RabbitMQ will help to remove a lot of the complexities and create a loosely coupled codebase.

What is most valuable?

I like the high throughput of 20K messages/sec, and that it supports multiple protocols. The flexible routing is great as well.

What needs improvement?

The next release should include some of the flexibility and features that Kafka offers.

For how long have I used the solution?

Still implementing.

Which solution did I use previously and why did I switch?

I have used IBM MQ software, but it was not applicable to this application.

Which other solutions did I evaluate?

I have evaluated and researched Axon, RabbitMQ, Kafka, and IBM MQ.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user647451
Technical Manager with 501-1,000 employees
Vendor
The message routing is the most valuable feature.

Pros and Cons

  • "The message routing is the most valuable feature. It is effective and flexible."
  • "The debugging capabilities and testing flexibilities need to be improved."

How has it helped my organization?

Legacy queuing systems have been replaced by RabbitMQ. The performance has been increased to a great extent.

What is most valuable?

The message routing is the most valuable feature. It is effective and flexible.

What needs improvement?

The debugging capabilities and testing flexibilities need to be improved.

What do I think about the stability of the solution?

The stability was fine.

What do I think about the scalability of the solution?

There were no scalability issues as such. The scalability was fine.

How are customer service and technical support?

I would give technical support a rating of 5/10.

Which solution did I use previously and why did I switch?

Initially, we were using different queuing technologies. Due to the message routing feature and flexibility that RabbitMQ provided, we made the switch to this tool.

How was the initial setup?

The setup was easy enough, once we had done proper research before the implementation.

What's my experience with pricing, setup cost, and licensing?

The pricing is okay.

What other advice do I have?

This product needs to be understood completely before implementing it. One should not be mistaken that it will replace the whole messaging system as such.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
AF
Software Engineer at a tech vendor with 1,001-5,000 employees
Real User
The queuing system is the most valuable feature. The product allows for asynchronous development and horizontal scalability.

Pros and Cons

  • "After creating a RabbitMQ service, they provide you with a sort of web management dashboard."
  • "I’d like this dashboard to use web sockets, so it would actually be in real time. It would slightly increase debugging, etc."

How has it helped my organization?

It allows for asynchronous development and horizontal scalability.

What is most valuable?

The queuing system is the most valuable feature. It meets our requirements.

What needs improvement?

After creating a RabbitMQ service, they provide you with a sort of web management dashboard.

The dashboard allows you see things on your queues, purge/delete queues, etc. The dashboard is pseudo-real time, refreshing every N secs/mins, specified with a drop down.

I’d like this dashboard to use web sockets, so it would actually be in real time. It would slightly increase debugging, etc.

What do I think about the stability of the solution?

We have not had stability issues.

What do I think about the scalability of the solution?

We have not had scalability issues.

How are customer service and technical support?

We never used technical support.

Which solution did I use previously and why did I switch?

We did not have a previous solution.

How was the initial setup?

The setup was straightforward. We are implementing using Node.js and the module we are using was easy to use.

What's my experience with pricing, setup cost, and licensing?

I am not the one in charge of licenses and pricing, so I do not know anything about this.

Which other solutions did I evaluate?

We didn’t have any alternatives. Our company has a contract with PCF, so it was our only option.

What other advice do I have?

For Node.js development, use amqplib. It’s a really good library for RabbitMQ.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user660027
Software Engineer at a marketing services firm with 51-200 employees
Vendor
It is our main microservices connection queue. I would like to see better crisis management.

Pros and Cons

  • "The product's reliability is the most valuable feature."
  • "The product has to improve the crisis management, especially in memory issues."

How has it helped my organization?

We use it as our main microservices connection queue.

What is most valuable?

The product's reliability is the most valuable feature.

What needs improvement?

  • The product has to improve the crisis management, especially in memory issues.
  • Its clustering feature also needs improvement.
  • I would simplify the configuration. I would add default configuration that prevents the queue system from filling out the server storage.
  • I would also decouple the queue from the RabbitMQ Management, so that the queues won't get stuck.
  • Clustering and clustering crisis management: When the cluster falls, there needs to be a simple way to recover it. It currently suffers from a recover problem.

What do I think about the stability of the solution?

In the regular state, there were no stability issues. When the queues are full, only complicated pre-configuration can help you so that you don't lose all of your crisis messages.

What do I think about the scalability of the solution?

There were some scalability issues. There is no scalable queue. The cluster only supports redirections.

How are customer service and technical support?

The documentation needs to be improved. We don't use any human technical support.

Which solution did I use previously and why did I switch?

We have used DBus and ZeroMQ. We wanted something more reliable and simple, so we switched over to this tool.

How was the initial setup?

The setup was okay, but there are some configurations that one needs to do by oneself. There are many dependencies as well.

What's my experience with pricing, setup cost, and licensing?

It is an open source solution.

What other advice do I have?

Do many stress tests.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user639441
Development Lead - Java/Hybris with 10,001+ employees
Vendor
Some of the valuable features are queues, topics, and native cloud app support.

Pros and Cons

  • "Simple and straightforward admin portals: Made it easy for users and worked out excellently for our requirements"
  • "The solution needs improvement on performance."

How has it helped my organization?

My company runs on high availability. It is known for high accuracy in its items that are being shipped.

To do this, drivers/vendors who are shipping these items have to send their location details frequently to the server to update their current location. It all depends on accuracy.

Based on this, the end user can plan to receive shipping items on his end. We wanted a JMS tool that can create 'queues' on the fly and pass messages from one system to another.

What is most valuable?

  • Queues and topics
  • Native cloud app support
  • Light-weight
  • Easy maintenance
  • Simple and straightforward admin portals: Made it easy for users and worked out excellently for our requirements

What needs improvement?

The solution needs improvement on performance.

What do I think about the stability of the solution?

It was stable enough to process our requests.

What do I think about the scalability of the solution?

We were able to operate multiple nodes and we implemented a load balancer to meet our high traffic requirements.

How are customer service and technical support?

We have never needed technical support. It was all there in the API documents provided by RabbitMQ and there are numerous blogs available on internet.

Which solution did I use previously and why did I switch?

We analyzed our requirement thoroughly and were sure that RabbitMQ was the solution for us. We didn’t look at anything else.

How was the initial setup?

It was bundled with PCF, so it was never a problem for us.

What's my experience with pricing, setup cost, and licensing?

Again, it was part of PCF bundle, so that was never a worry for us.

What other advice do I have?

This is a great product. It is lightweight, supports cloud native applications, is easy to implement, is easily manageable, and has excellent support. I would say, just go for it!

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user635418
VP of Software at a manufacturing company with 11-50 employees
Vendor
Guaranteed message delivery, queuing, and low latency delivery are the most valuable features.

What is most valuable?

Guaranteed message delivery, queuing, and low latency delivery.

How has it helped my organization?

This allowed us to create a resilient network and independently scale various parts of the system dynamically as the business needs changed.

What needs improvement?

The biggest area we struggled with was operations troubleshooting. We were running a pretty big cluster and ended up with some random cluster failures that were difficult to troubleshoot. A good portion of these were self inflicted but occasionally the distributed database would end up corrupted.

For how long have I used the solution?

I have been using RabbitMQ for six years, from prototype to production.

What do I think about the stability of the solution?

We had a bit of an issue with stability. The usual initial cause would be a hiccup in IOPS in EC2 but then this would cascade into more instability in our main clusters.

What do I think about the scalability of the solution?

For the most part the product was very scalable. The only times we would have problems were usually related to Amazon hiccups that would cause the cluster to slow down.

How are customer service and technical support?

We did not use their technical support much.

Which solution did I use previously and why did I switch?

We evaluated a variety of message products and found that for the feature set RabbitMQ was the best.

How was the initial setup?

Initial setup was relatively simple and then we were able to grow into the product by using more of the features.

What's my experience with pricing, setup cost, and licensing?

We used the open source implementation and did not need to pay for support.

Which other solutions did I evaluate?

We looked at ZeroMQ, Kafka and Redis.

What other advice do I have?

You really need to have or train Erlang expertise. The Erlang tools will become the best way to troubleshoot misbehaving clusters.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Boris Levin
Head of Data & Infrastructure at a tech services company with 51-200 employees
Real User
I value the routing control and priority messaging capabilities. I would like to see better scaling and scalability capabilities

Pros and Cons

  • "Very sophisticated routing control and priority messaging capabilities"
  • "The fact that a single queue can't be distributed across multiple instances/nodes is a major disadvantage."

How has it helped my organization?

We're using this as our central messaging bus. It drives our micro-service architecture.

What is most valuable?

  • Great management UI: The best in its class of messaging products
  • Very sophisticated routing control and priority messaging capabilities

What needs improvement?

  • The product should have much better scaling and scalability capabilities. Currently, they're really falling behind some of the competitors such as Kafka and NSQ.
  • The installation of the HA version and clustering mechanism should be made much easier.
  • The fact that a single queue can't be distributed across multiple instances/nodes is a major disadvantage.

What do I think about the stability of the solution?

We had multiple issues with stability. The product tends to be highly unstable when under heavy loads.

What do I think about the scalability of the solution?

We had multiple issues with scalability. The product's scalability is rather problematic. It tends to be very complex to maintain with various sharding and high availability options.

How are customer service and technical support?

I have never used technical support.

Which solution did I use previously and why did I switch?

We tested some earlier version of Apache Kafka, but it wasn't stable enough at the time. At the moment, we're considering switching back to Apache Kafka.

How was the initial setup?

The non-sharded/clustered setup is very easy and straightforward. The clustered solution setup is much more complicated.

What's my experience with pricing, setup cost, and licensing?

We have only used the open source version.

Which other solutions did I evaluate?

We evaluated Apache Kafka, NSQ, and ActiveMQ.

What other advice do I have?

Check the scaling issues. If scale is not an issue and you're just looking for a stable messaging queue, I would highly suggest it.

If scale is an issue, I would suggest using Apache Kafka.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Nikola Tzaprev
Head of Cloud Platform Development at a tech vendor with 501-1,000 employees
Real User
It provides load balancing using queues, guaranteed messaging, and queue mirroring.

What is most valuable?

  • Load balancing through queues
  • Guaranteed messaging
  • Configurable pre-fetch count
  • Queue mirroring

How has it helped my organization?

RabbitMQ helped us build a database synchronization framework that allowed us to transfer our clients data to our cloud based data processing centers.

What needs improvement?

The web management tool.

For how long have I used the solution?

I have used this solution since 2013.

What do I think about the stability of the solution?

We had several de-clustering problems.

What do I think about the scalability of the solution?

We did not have any scalability problems.

How are customer service and technical support?

I have never used support.

Which solution did I use previously and why did I switch?

This is the first solution we implemented.

How was the initial setup?

It was a very simple setup. We had some issues with the home folder being on a non-standard system drive (The location of the RMQ cookie was changed.)

What's my experience with pricing, setup cost, and licensing?

The Community Edition works fine for us.

Which other solutions did I evaluate?

We evaluated several other solutions; the MQSeries and MSMQ.

What other advice do I have?

Use it for implementations that require a queuing solution. It is easy to overuse it as a universal communication bus of the entire system.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user624789
President, Applications and Security Architect at a tech services company with 51-200 employees
Consultant
The most valuable features for us are speed and persistent messaging.

What is most valuable?

The most valuable features for us are speed and persistent messaging.

How has it helped my organization?

We are now able to leverage real time applications and event driven architecture.

What needs improvement?

The documentation needs to be improved. There's a learning curve on setting it up and there are issues arising from slower networks that they lack documentation on.

For how long have I used the solution?

We have been using the product for three years.

What do I think about the stability of the solution?

Stability issues experienced were only due to a slow network at the client.

What do I think about the scalability of the solution?

We did not encounter any scalability issues.

How are customer service and technical support?

I never…

What is most valuable?

The most valuable features for us are speed and persistent messaging.

How has it helped my organization?

We are now able to leverage real time applications and event driven architecture.

What needs improvement?

The documentation needs to be improved. There's a learning curve on setting it up and there are issues arising from slower networks that they lack documentation on.

For how long have I used the solution?

We have been using the product for three years.

What do I think about the stability of the solution?

Stability issues experienced were only due to a slow network at the client.

What do I think about the scalability of the solution?

We did not encounter any scalability issues.

How are customer service and technical support?

I never used the technical support.

Which solution did I use previously and why did I switch?

I am not aware of any previous solutions.

How was the initial setup?

We are a container shop and the only issues during setup were around proper clustering and configuring the application to use it.

Which other solutions did I evaluate?

We evaluated Apache Kafka also.

What other advice do I have?

I would advise potential customers to use something to wrap their interaction, like Spring for Java.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user624792
Senior Software Engineer at a hospitality company with 1,001-5,000 employees
Vendor
Complex message routing enables us to replicate product data for user acceptance testing.

What is most valuable?

Complex message routing makes it very easy to replicate product data for user acceptance testing which was required in our user case.

How has it helped my organization?

Applying message queues in general has helped my company, BuzzNumber, to scale easily with the load.

What needs improvement?

The High Availability feature is not really reliable. It also took a really long time to restart the box when there were a lot of messages in the queue.

As mentioned on its document page, it cannot tolerate network partition well.
I suffered a network parturition with 3 nodes cluster and lost all data. So with our cloud provider, we can’t rely on pause_minority and seems like auto_heal is a better fit for us.

Apart from that, RabbitMQ doesn’t seem to be stable when it has high RAM usage. Especially when you have millions of queue items in a queue and a node crashes, adding a new node to such cluster will be a pain as the replication takes forever.

For how long have I used the solution?

We have used the solution for two years.

What do I think about the stability of the solution?

We encountered an issue with stability. It didn't work very well with millions of messages in the queue when you add a new node to the cluster.

What do I think about the scalability of the solution?

There were no specific issues with scalability except the issue of adding a new node to the cluster.

How are customer service and technical support?

We used the open source version with community support, so we didn't contact technical support.

Which solution did I use previously and why did I switch?

We previously used MSMQ. Apparently, it is not as good as RabbitMQ in terms of the features offered.

How was the initial setup?

The setup is easy.

What's my experience with pricing, setup cost, and licensing?

This is not applicable, as we were using the free version.

Which other solutions did I evaluate?

I am not aware of other evaluated options.

What other advice do I have?

I would advise potential customers to make sure it works with your architecture, scale plan, and load. There are other alternatives.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user618963
Senior Software Specialist at a security firm with 1,001-5,000 employees
Vendor
SSL, clustering, and integrates with LDAP.

What is most valuable?

  • Does SSL (security)
  • Does clustering (stability)
  • Integrates with LDAP (management)
  • Automatically resends data when a consumer fails
  • Automatically routes data
  • Excellent spring boot integration
  • Multiple programming languages provide excellent integration

How has it helped my organization?

With RabbitMQ cluster servicing micro-services, we don't have any downtime and we don't lose any data. We can update and/or upgrade the micro-services without downtime.

What needs improvement?

  • You cannot edit shovels other than by recreating them.
  • Routing of data could be more enhanced with a nice GUI. ("IF header.contains(this.thing) THEN data.goesTo(cluster_02)").
  • In its current form, you have to recreate a shovel with the same parameters except for the one you want to change. You end up doing more or less a delete/create.
  • There is no HTML form where you can click on a shovel and adjust the wrong parameter.
  • If I click on a shovel, I get on a page that lists the shovel, but it is not editable. You have to create a shovel and then delete the old one with all the same parameters, except for the one you want to change.
  • Temporarily stopping shovels is also not possible in the web interface. I do not know if the CLI version can do it, but if somebody wants to temporarily stop the incoming flow, he or she has to delete the shovel and then recreate it afterwards. This is annoying, to say the least.
  • RabbitMQ has to be started before one can define exchanges, queues, and even users with rabbitmqctl. See https://www.rabbitmq.com/man/r...
  • This is no problem if one lives in the monolithic server environment. However, if one wanted to make a RabbitMQ Docker-container with a pre-defined set of exchanges, queues, users, and shovels, you have to literally jump start the server. You would have to configure it in the Docker build phase. You would do it like this in the Dockerfile: RUN service start rabbitmq-server && wait 30 && rabbitmqctl add_user mike mikespassword.

For how long have I used the solution?

I have used RabbitMQ for four years.

What do I think about the stability of the solution?

We did have stability issues in the past. After shutting it down, the cluster did not start until we deleted some corrupted file. This occurred more than a year ago.

What do I think about the scalability of the solution?

It works as expected, i.e., flawless.

How are customer service and technical support?

We have not needed any technical support as of yet.

Which solution did I use previously and why did I switch?

We did not evaluate any previous solutions.

How was the initial setup?

Just enter this command: $ apt-get install rabbitmq-server

What's my experience with pricing, setup cost, and licensing?

It’s open source with paid support.

Which other solutions did I evaluate?

We looked at Kafka, but we needed the routing as well.

What other advice do I have?

Start it in Docker and use Java Spring Boot or Node.JS with amqplib to connect to it. It has transformed how I think data should flow in an organization.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user622743
Solutions Architect at a tech services company with 1,001-5,000 employees
Consultant
Offers a publisher and consumer ACK and does queue mirroring.

What is most valuable?

  • The publisher and consumer ACK
  • High availability
  • Queue mirroring
  • Exchanges and topics
  • Supported programming languages with well-tested libraries

How has it helped my organization?

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.

What needs improvement?

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.

For how long have I used the solution?

I have used this solution for seven 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 are customer service and technical support?

We haven’t needed to use any support yet.

Which solution did I use previously and why did I switch?

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.

How was the initial setup?

It is very simple to set up for basic usage. Clustering is a bit more complex, but it is also easy to do.

What's my experience with pricing, setup cost, and licensing?

The RabbitMQ open source version works fine for almost all the use cases that I came across.

Which other solutions did I evaluate?

We looked at the Redis solution, but it was not a good fit for our needs.

What other advice do I have?

Read the documentation and follow best practices. Make sure Erlang is up to date!

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user622962
Director - Information Technology at a transportation company with 51-200 employees
Vendor
Allows us to set up workflows with configuration.

What is most valuable?

The most valuable feature of RabbitMQ is the ability to set up workflows simply with configuration. We had some very complex problems (logging, auditing, sequential and parallel operations) that have been easily solved by inserting a queue in the middle of an existing workflow.

How has it helped my organization?

Our software has evolved dramatically over the past 18 months of development.

Major modifications to business logic have been handled easily. This is because each operation that the software performs has been atomic. That was then wired up with other operations via RabbitMQ exchanges/queues,

What needs improvement?

  • RabbitMQ is great, but it depends on the Erlang VM.
  • I understand that Erlang is the reason why RabbitMQ is what it is. However, having to install and maintain yet another VM product has been annoying.
  • The configuration for RabbitMQ borders on the esoteric. Once we got all of the moving parts working, it’s been a dream. However, it was an effort just to get it going.

For how long have I used the solution?

We’ve been developing with RabbitMQ for about 18 months now. Our product launch is scheduled for April 1, 2017.

What do I think about the stability of the solution?

There were stability issues. We originally tried to mirror RabbitMQ servers behind a load balancer. (This is not completely recommended, by the way.)

That suffered from stability issues when network hiccups were a problem.

We ended up moving to a central LDAP authentication with completely disconnected servers, which has been stellar for stability.

What do I think about the scalability of the solution?

We have had no scalability issues at all. We have RabbitMQ servers behind a load balancer, with Queue listeners attached to them.

I have estimated that we will be able to scale quite dramatically without any change to network topology.

How are customer service and technical support?

RabbitMQ is an open-source project, so the level of tech support is relatively low. The documentation is adequate. There is a decent amount of activity on Stack Overflow and that has answered most of my questions.

I did actually use an open-source plugin and had a lot of communication with the developer. He was responsive and helped me significantly.

Which solution did I use previously and why did I switch?

Our initial solution was a simple web API. We quickly realized that it would be difficult to maintain.

Scalability and reliability were my primary concerns. HTTP has no reliable delivery built-in, like AMQP does. Changing API versions would have been more difficult if we had stuck with HTTP.

How was the initial setup?

The initial setup was fairly complex. Installation was not difficult, but configuration of the server itself took some work.

I ended up creating code that does the RabbitMQ setup based on a configuration file. This eased the setup dramatically. I also set up a central LDAP server for authentication, which helped. Otherwise, configuration of RabbitMQ was not very straightforward.

What's my experience with pricing, setup cost, and licensing?

Being free and open-source, I have no advice here! Free is a good price!

Which other solutions did I evaluate?

I looked at other service bus/message queue solutions. In particular, I investigated:

  • Azure’s Queue Storage: No real service bus ability without plugins
  • AWS’s Simple Notification Service: Not much in the way of service bus capability. It did not allow private queues on the fly.
  • A few other open-source message brokers

RabbitMQ seemed the most full-featured option for what we needed.

What other advice do I have?

By all means, try to reduce the amount of up-front configuration of RabbitMQ as much as possible.

At this point, we can spin up a very generic VM with RabbitMQ on it and get it in use immediately. However, that was not the case at the beginning.

RabbitMQ is very flexible, which is good and bad. Once the flexibility is understood, it’s great. Before that, you may be in for a little bit of head-scratching.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user622737
Software architect & back-end engineer at a tech services company
Real User
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.
it_user589473
Full Stack Developer Intern at a tech vendor with 1,001-5,000 employees
Vendor
We used it to implement a three-tier structure and to decouple our front end from the back end.

What is most valuable?

Some valuable features of this product are:

  • Message queuing
  • Good support
  • Provided scalability and a distributed environment
  • Easy usability with NodeJS
  • Could easily withstand and pass stress/load testing with more than 10K API calls
  • Helped achieve a distributed environment and implement a 3-tier structure
  • Helped to develop a highly scalable system by decoupling front end and back end

How has it helped my organization?

We had a project where we had huge responses to APIs from the front-end and had to handle such large responses/requests without losing any of them. RabbitMQ efficiently handled this problem by providing message queuing and decoupling our front end and back end.

What needs improvement?

I would love to see better documentation/demo for few technologies. There is need for better stability in the Windows environment.

For how long have I used the solution?

I have used this product for around six months.

What do I think about the stability of the solution?

We encountered a few problems with Windows while clustering and hence we used Linux.

What do I think about the scalability of the solution?

We did not encounter any scalability issues.

How is customer service and technical support?

I would give the technical support a 7/10 rating.

How was the initial setup?

It involved more of research as how to use RabbitMQ. For clustering, it was little bit complex but I was able to follow the documentation provided.

Which other solutions did I evaluate?

We did not evaluate any other solution prior to this one.

What other advice do I have?

It gives product support with your technology.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user560979
Principal Software Engineer at a tech company with 501-1,000 employees
Vendor
You can create a consumer for a queue and listen to the queue in real-time.

What is most valuable?

It has solved issues such as queue processing, real-time data processing and decrease count of Cron jobs.

The management of Cron jobs is very hard for me. If you are using RabbitMQ, you may not need a Cron job since you can create a consumer for a queue and listen to the queue in real-time. For example, you need to send an email for your new members but you want to do this from your software. The reason being if you encounter an SMTP error, you should handle it or sending an email from your membership activity can take about 5-10 seconds. If you don't use RabbitMQ, you need to create a Cron job and check for new members to send an email to them. But, if you use RabbitMQ, you do not need a Cron job. You can send a message to your queue and consume it in real-time and then send the email.

How has it helped my organization?

I have used this solution for changing stock of products in an e-commerce project. We update the stock of products from RabbitMQ. Some of our clients can change the stock of a product, i.e., either increase or decrease it. They send the stock count to RabbitMQ as a message and our e-commerce platform changes the stock when it gets the message. Consequently, we update the database, cache, search engine service and so on.

There are too many advantages of using this solution. You can scale your processes and update your data in a nearly synchronous way.

What needs improvement?

RabbitMQ needs 2 additional features:

  • It is lacking a good dashboard on the web interface; maybe they can develop a dashboard for monitoring.
  • There is no alert mechanism. For example, sometimes consumers may be killed or the input messages in queues are greater than the consumed messages. Thus, I would like them to define a rule for alert; maybe they can develop an alert mechanism.

For how long have I used the solution?

I have used this product for three or four years.

What do I think about the stability of the solution?

I have not encountered any stability issues.

What do I think about the scalability of the solution?

I have not encountered any scalability issues either.

How are customer service and technical support?

Since it is open source, you can resolve your problems either from forums or Stack Overflow in regards to RabbitMQ.

Which solution did I use previously and why did I switch?

We have used different solutions before. We have tried MySQL as a queue and it was terrible.

How was the initial setup?

It is not complex.

However, if you try sharding or cluster, it is just a little complex because of Erlang.

What about the implementation team?

It is open source.

Which other solutions did I evaluate?

I did not look into other solutions.

What other advice do I have?

I would recommend this product. It is great and resolves a lot of problems.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user566901
Graduate Teaching Assistant at a university with 1,001-5,000 employees
Vendor
Supports real-time delivery of sensor data in different topic abstractions. I would like to see better handling of rolled off data from the queue.

What is most valuable?

RabbitMQ is good in its real-time capability of delivering the sensor data in different topic abstractions. It is quite easy to setup in our sensor network system which involves data monitor agents across geographically distributed organizations.

How has it helped my organization?

This tool made our research process easier and allowed our administration (monitoring) process to happen at the same time. We created different queues for different use cases of the same streaming data.

What needs improvement?

The solution can be improved in terms of how to handle the rolled off data from the queue. Currently, if the consumer does not consume a queue, the data in the queue will eventually overflow and be discarded.

For how long have I used the solution?

I have used this solution for about a year.

What do I think about the stability of the solution?

Stability-wise, the consumer needs to configure with caution to make sure the queues never overflow. I have experienced data loss in scenarios in which consumer cases were configured incorrectly.

What do I think about the scalability of the solution?

It would be nice if it could produce automatic load balancing when the number of brokers scales up.

How is customer service and technical support?

The technical support is generally good in terms of being a nice and active user forum that has good documentation.

How was the initial setup?

The initial setup is not very complex. We just needed to set up several broker instances running on different physical nodes to prevent unavailability. When we needed to add more nodes for more data and queues at a later time, it created a bit of load imbalance issues.

What's my experience with pricing, setup cost, and licensing?

I would suggest that the vendor keep it the same way that it is now.

Which other solutions did I evaluate?

We chose this solution around 2010, so there weren’t many options at the time. We evaluated the native JMS method and it didn't scale up well.

What other advice do I have?

Keep in mind that the queue structure and the consumer configuration need to keep up with the queuing speed. I would suggest researching other options if you need bulk data publish/subscribe in persistent data storage, e.g., Apache Kafka.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user575835
Mid Level Software Engineer at a tech services company with 501-1,000 employees
Consultant
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 are customer service and technical support?

We never used technical support.

Which solution did I use previously and why did I switch?

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.
TS
Senior Application Developer at a computer software company with 51-200 employees
Real User
The ability to create durable queues improved reliability and performance.

What is most valuable?

We find authentication, performance, and durable messaging the most valuable features. Due to the nature of my use case, performance and security were of the highest priority and were the main reason I chose RabbitMQ messaging frameworks.

Over time, the most useful feature became the ability to create durable queues, which increased reliability and also boosted performance.

What needs improvement?

I would like to see improvements in fluent configuration. I'd also like to see more support for code-first environment configuration. We do a lot of this stuff as part of our deployment process via command line scripts, but I'd rather have a specific API to target rabbitmq.config and rabbitmq-env.config so that configuration could scale with my environments more easily. If more of that was baked into the RabbitMQ management HTTP API, it would help.

For how long have I used the solution?

We have been using RabbitMQ for about 2 years.

What do I think about the stability of the solution?

We did not have any issues with stability.

What do I think about the scalability of the solution?

We had no issues with stability. Exactly the opposite! It actually blew me away how flexible a framework it is. It’s a very elegant solution.

How is customer service and technical support?

I never used technical support.

What other advice do I have?

I've had the most success using NServiceBus over MassTransit. Look there for .NET Devs.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user566880
Software Engineer with 1,001-5,000 employees
Real User
Allows for a fully asynchronous solution. Using Pivotal Cloud Foundry, we can scale the number of consumers or receivers.

What is most valuable?

Allowing for a fully asynchronous solution is crucial for this particular feature. The seamless nature of creating and connecting to a queue makes it really easy to code and understand. Pivotal Cloud Foundry allows us to easily scale the number of consumers (or receivers) as well. So far, no hiccups have been found with the PCF implementation.

How has it helped my organization?

RabbitMQ allows for asynchronous solutions where previously everything was synchronous.

What needs improvement?

The product works pretty well, but one small thing could be an improvement to the monitoring site. It could be a little bit more modern, instead of postback refreshing, etc.

For how long have I used the solution?

We have been using Rabbit for a while and I started integrating it into the mobile project a few months ago.

What do I think about the stability of the solution?

Every so often, I need to clear out the queue during development. This could be a symptom of something else, but unpacked requests tend to get trapped in the queue at times.

What do I think about the scalability of the solution?

PCF allows us to scale the consumers.

How are customer service and technical support?

I haven't used any technical support yet.

Which solution did I use previously and why did I switch?

To my knowledge, this is the only queuing system my company has used.

How was the initial setup?

Thanks to Pivotal Cloud Foundry, initial setup was straightforward. We simply created a new RabbitMQ service, obtained credentials for the queue and started developing.

Which other solutions did I evaluate?

I personally have not explored other queuing solutions, but have used Akka HTTP, with is a fully asynchronous web server of sorts. It's not a queuing system, but I mention it because of the asynchronous behavior. RabbitMQ was perfect for our current solution, however.

What other advice do I have?

The RabbitMQ documentation is pretty good. I'd only suggest making sure to read through it for the implementation language of your choice first.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user571806
Founder Partner and CTO at Rogue Startup
Real User
It allows developers to focus on application functionality without having to re-invent interprocess communication.

What is most valuable?

The most valuable feature is it’s robustness. Message queues need to be extremely reliable as they are the glue between system components.

Also, the speed is important and its good scaling capabilities.

How has it helped my organization?

It allows developers to focus on application functionality without having to re-invent interprocess communication, which is difficult.

I also allows us to develop smaller, more efficient, and less complex subcomponents of a larger application.

What needs improvement?

I would like to see better documentation on how to set up complex webs of RabbitMQ servers — master/slave, multi-master, etc.

For how long have I used the solution?

I have been using RabbitMQ for 7+ years.

What do I think about the stability of the solution?

We have not encountered any stability issues.

What do I think about the scalability of the solution?

We have not encountered any scalability issues.

Which solution did I use previously and why did I switch?

We were using IBM MQ, but it was too costly and not open source.

How was the initial setup?

The initial setup was simple for my applications, but I have not used RabbitMQ on a complex project that would require clusters of servers.

What other advice do I have?

My advice is to read the message boards and play with the API.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user564939
Research Assistant at a university with 1,001-5,000 employees
Vendor
We use it to distribute pieces of some large jobs to multiple machines.

What is most valuable?

Message queue, because it is easy to use, reliable, not a big load.

How has it helped my organization?

We are using it to distribute pieces of some large jobs to multiple machines, which improves performance several times.

What needs improvement?

Improve the ability to handle the large message load.

People usually use RabbitMQ as the lightweight messenger, if they have a large message load people are inclined to use Kafka. But at the beginning stage of most projects, the data is small, people do not need to use a Kafka type of messenger, they are more likely to use RabbitMQ. If RabbitMQ can handle the large message load and support ordered delivery, with the project growing, data bigger, people can still use RabbitMQ and wouldn't need to find another tool to use like Kafka which is much more convenient.

For how long have I used the solution?

Half a year.

What do I think about the stability of the solution?

Didn’t have issues.

What do I think about the scalability of the solution?

Didn’t have issues.

How is customer service and technical support?

Very good. 8/10.

How was the initial setup?

Simple. We followed the tutorial about RabbitMQ with Python.

What's my experience with pricing, setup cost, and licensing?

We are using it internally with a very small data load in the developing period, which is free right now.

Which other solutions did I evaluate?

Yes, I evaluated Kafka.

Kafka is more suitable to large amount events in order. RabbitMQ is more suitable to the related small amount of messages, which is my situation and I don’t care about the message order.

What other advice do I have?

RabbitMQ is a very easy to use and reliable message broker. If the work has a relatively small message load, RabbitMQ is the most robust and reliable choice.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Product Categories
Message Queue (MQ) Software
Buyer's Guide
Download our free VMware RabbitMQ Report and get advice and tips from experienced pros sharing their opinions.