Skip to main content
TrustRadius
RabbitMQ

RabbitMQ

Overview

What is RabbitMQ?

RabbitMQ, an open source message broker, is part of Pivotal Software, a VMware company acquired in 2019, and supports message queue, multiple messaging protocols, and more. RabbitMQ is available open source, however VMware also offers a range of commercial services for…

Read more
Recent Reviews

TrustRadius Insights

RabbitMQ has proven to be an invaluable tool for organizations grappling with communication challenges in a microservices architecture. …
Continue reading

Solid messaging system

9 out of 10
October 29, 2019
Incentivized
RabbitMQ is used in conjunction with Ellucian Banner software, specifically Ellucian Ethos Integration product and Banner Events Publisher.
Continue reading
Read all reviews

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Product Demos

Federated Message Queue Demo

YouTube

RabbitMQ Producer and Consumer Demo

YouTube

RabbitMQ demo

YouTube

Demo aplikasi RabbitMQ dan hubungan antara Message Broker dan RabbitMQ || Tugas 2 EAI

YouTube

RabbitMQ with MQTT plugin demo

YouTube

Demo: Spring Insight plugins for Spring Integration and RabbitMQ

YouTube
Return to navigation

Product Details

What is RabbitMQ?

RabbitMQ Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

RabbitMQ, an open source message broker, is part of Pivotal Software, a VMware company acquired in 2019, and supports message queue, multiple messaging protocols, and more. RabbitMQ is available open source, however VMware also offers a range of commercial services for RabbitMQ; these are available as part of the Pivotal App Suite.

Reviewers rate Support Rating highest, with a score of 6.5.

The most common users of RabbitMQ are from Enterprises (1,001+ employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(39)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

RabbitMQ has proven to be an invaluable tool for organizations grappling with communication challenges in a microservices architecture. Users have successfully utilized RabbitMQ to address these problems by facilitating seamless communication between various microservices. Another common use case is employing RabbitMQ as a job processing mechanism, where work items are pushed into the RabbitMQ queue and processed based on topic. This feature has streamlined task distribution and improved efficiency in many organizations. Additionally, RabbitMQ has been integrated as a backbone for homegrown ESBs, enabling smooth routing and transaction movement between ESB endpoints. One of the standout features of RabbitMQ is its new quorum queues, which allow multiple queue consumers across a cluster of servers, resulting in virtually zero downtime during routine maintenance. This feature has proven invaluable to organizations seeking high availability and reliability in their messaging infrastructure. Furthermore, RabbitMQ has demonstrated its versatility by serving as an efficient messaging and queuing system between disconnected applications on different platforms, such as .Net Web Site and Linux Server. This capability has empowered organizations with diverse technology stacks to seamlessly communicate and exchange data between systems. Another noteworthy use case is the development of custom frameworks using RabbitMQ to distribute tasks and commands between microservices. This flexibility allows organizations to tailor the messaging system to their specific needs and effectively manage their microservice architecture. Moreover, RabbitMQ has found utility in managing users and projects within organizations, providing robust communication capabilities between teams. It has also been used as a medium for communication between nano-services, enabling seamless coordination in complex distributed systems. In several instances, RabbitMQ has emerged as the go-to solution for managing outgoing emails, text messages, and faxes from various systems across entire businesses. This centralized approach streamlines communications processes and enhances overall efficiency. Additionally, RabbitMQ serves as a reliable service bus for communication across microservice APIs, ensuring fault tolerance and improving system resilience. Notably, it has been successfully deployed for monitoring SMS service delivery platforms, offering valuable insights into delivery counts and performance. Iterable, a prominent user of RabbitMQ, relies on the messaging system to queue incoming messages and schedule work for later execution. This use case highlights the versatility of RabbitMQ in managing workflows and optimizing message processing. Overall, RabbitMQ stands as an old yet mature and maintained queuing system, enabling organizations to develop rich applications with advanced architectures. It seamlessly integrates with other software products, such as Ellucian Banner and Genesys Pulse, to facilitate integration and asynchronous messaging. Through its wide range of use cases, RabbitMQ has proven to be a reliable and versatile solution for organizations seeking efficient communication and task distribution. Its robust messaging capabilities have made it an ideal choice for managing outgoing emails, text messages, and faxes across various systems within businesses. Moreover, RabbitMQ serves as a reliable service bus for communication across microservice APIs, providing built-in fault tolerance and enhancing system resilience. The software has also found utility in monitoring SMS service delivery platforms, offering valuable insights into delivery counts and performance. Companies like Iterable rely on RabbitMQ to queue incoming messages and schedule work for later execution, demonstrating its versatility in managing workflows and optimizing message processing. Overall, RabbitMQ is an old yet mature queuing system that empowers organizations to develop rich applications with advanced architectures. By seamlessly integrating with other software products such as Ellucian Banner and Genesys Pulse, RabbitMQ enables integration and asynchronous messaging for enhanced efficiency and scalability.

Efficient and Effective Routing: Several users have praised the routing capability of RabbitMQ, stating that it efficiently and effectively routes work items based on topic. This feature allows for easy processing by subscribers of the RabbitMQ queue.

High Scalability: Many reviewers appreciate the scalability of RabbitMQ, especially when handling a large number of work items. They mention that RabbitMQ scales well with a cluster approach, making it highly reliable for executing work items.

Easy-to-Use Web UI: The web UI of RabbitMQ is widely appreciated by users for its ease-of-use. Customers find its intuitive interface convenient for quickly performing tasks without any hassle.

Communication Breakdowns: Some users have experienced frequent communication breakdowns when using RabbitMQ, especially during time-consuming work items or when errors occur. These breakdowns can cause the RabbitMQ channel to break, resulting in disruptions and potential data loss.

Installation Complexity: Installing RabbitMQ on Windows can be a tricky process, particularly when it involves setting up clustering. Users have reported difficulties and challenges in properly configuring the cluster setup and ensuring seamless communication between nodes.

Lack of Observability: One major drawback that users commonly face with RabbitMQ is the lack of built-in observability features. Many users find it inconvenient to perform essential tasks such as checking messages in a queue or listing all queues without relying on additional tools or configurations. This limits their ability to effectively monitor and manage their messaging system.

Users have made several recommendations for RabbitMQ as a message broker service. These are the three most common recommendations:

  1. Utilize the advanced routing feature: Users have praised RabbitMQ for its advanced routing capabilities. This feature allows for complex message routing and enables efficient communication between different components in a project.

  2. Benefit from easy integration: Many users have found RabbitMQ to be straightforward to integrate into their projects. The tool offers various client libraries and supports multiple programming languages, making it adaptable to different development environments.

  3. Leverage scalability and reliability: Reviewers often highlight RabbitMQ's ability to handle large message volumes and maintain high levels of reliability. The tool's support for clustering and persistence ensures that messages are delivered reliably, even in demanding environments.

Overall, users recommend using RabbitMQ as a message broker service due to its advanced routing, ease of integration, and scalability/reliability features.

Attribute Ratings

Reviews

(1-5 of 5)
Companies can't remove reviews or game the system. Here's why
August 11, 2023

Worth investing in

Gordon Lo | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use RabbitMQ in conjunction with our own homegrown ESB. RabbitMQ acts as a backbone to our ESB for routing and enabling us to move transactions from one ESB endpoint to another. The new quorum queues enable have multiple queue consumers across a cluster of RabbitMQ servers meaning we have virtually zero downtime during routine maintenance.
  • High performance queues
  • Exchanges (routing)
  • Easy to use web UI
  • Easy deployment
  • Installing on Windows has some quirks especially with clustering
  • When disk is full, it stops transactions which can be problematic to recover from
  • .net SDK doesn't always recover nicely from network drops
RabbitMQ is inherently a very simple product consisting only of queues and exchanges. If you're willing to invest the time to use RabbitMQ as your backend and implement your own adapters, then it's worthwhile. Because RabbitMQ is easy to roll out for simple use cases, you can just set it up to get started, and build it up over time.
  • Queues/Exchanges (routing)
  • Able to handle large messages
  • High availability (clustering)
  • We process between 30 and 100 messages per second (large messages)
  • Deploying a cluster can be done in a day
RabbitMQ has a few advantages over Azure Service Bus
1) RMQ handles substantially larger files - ASB tops out at 100MB, we use RabbitMQfor files over 200MB
2) RabbitMQ can be easily setup on prem - Azure Service Bus is cloud only
3) RabbitMQ exchanges are easier to configure over ASB subscriptions

ASB has a few advantages too 1) Cloud based - just a few mouse clicks and you're up and running
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We are using microservices architecture so communication between services is the most important part. RabbitMQ helped us to solve the communication problem between microservices. Another use case is we have our own job processing mechanism, RabbitMQ helped us to push work items in the RabbitMQ queue and process it based on topic.
  • Routing of work items based on topic. We can push work items in a RabbitMQ queue which is topic based and those will be processed by subscriber of that queue.
  • Scaling with so many work items. RabbitMQ scales well with cluster approach that will help us when we have so many work items.
  • It tracks work items status, if worker crashes then the same will be passed on to other worker. This way it will be highly reliable that work item must be executed sooner or later.
  • It breaks communication if we don't acknowledge early. In some cases our work items are time consuming that will take a time and in that scenario we are getting errors that RabbitMQ broke the channel. It will be good if RabbitMQ provides two acknowledgements, one is for that it has been received at client side and second ack is client is completed the processing part.
It is highly recommended that if you have microservices architecture and if you want to solve 2 phase commit issue, you should use RabbitMQ for communication between microservices. It is a quick and reliable mode of communication between microservices.

It is also helpful if you want to implement a job and worker mechanism. You can push the jobs into RabbitMQ and that will be sent to the consumer. It is highly reliable so you won't miss any jobs and you can also implement a retry of jobs with the dead letter queue feature.

It will be also helpful in time-consuming API. You can put time-consuming items into a queue so they will be processed later and your API will be quick.
  • Reliability
  • Scaling
  • Topic based Routing
  • Earlier we had a problem with missing work items with our own implementation but later using RabbitMQ is solved a problem. Now our job processing mechanism is highly reliable.
  • We also had a problem with scaling, processing 1k work items per second. RabbitMQ helped us to scale well with increasing work items.
It is very easy to use as it has a simple function to connect and use RabbitMQ.
It is having Fast Learning curve, Any newbies can learn it in a week or month. It is having proper documentation, we are able to find all the details about its functionality and usage of it.
The Features of RabbitMQ are providing are matching with our business requirements.
Paul Wickham | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
We used RabbitMQ at a few clients as an efficient messaging and Queuing System. In particular, we were looking for a way to use messaging between disconnected apps on different platforms. The Producer App was in the .Net Web Site and the consumer was a service running on a Linux Server.
  • Queuing
  • Simple SetUp
  • Easy to integrate with
  • A bit complicated to take full advantage of its features.
  • Dashboard could be improved.
RabbitMQ is powerful and useful for those who have some experience. It is easy to set up for simple uses but hard to do advanced things. I found it easy to integrate with. I would recommend it in open source environments.
  • Ease of Integration
  • Queuing
  • It Accomplished the Goal we intended to use it for.
  • We were able to set it up rather quickly.
I have not used other products other than a roll-your-own solution. The Selection of RabbitMQ was made before I began working on the project but I was able to leverage it well without making major changes to the existing apps. This was particularly helpful in lowering risks. I have done Queueing in a SQL server-based environment when the queue was especially managed in SQL tables. This seemed to be an overly SQL-heavy way to implement Queue and took significantly more time than RabbitMQ.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We started to use RabbitMQ because it was a prerequisite for using Genesys Pulse in Realtime mode. From that, it was an interesting alternative to Queuing we used like MSMQ to deal with asynchronous messaging between 2 components.
  • Several libraries in many languages our customers use.
  • Mirroring to deal with failures.
  • Scalability to deal with high rate in producer.
  • More "Rabbit" plugins
  • UI for monitoring
RabbitMQ is open source, it is why it is interesting to use as an alternative to commercial ones for small uses. Also, it has a huge community of users who are very active to develop some plugins to deal with problematic related to microservices.
RabbitMQ is easy to implement and use.
  • Several protocols
  • Security
  • The best ROI is the simplicity of implementing RabbitMQ, less than a day!
RabbitMQ cannot resend messages like Apache Kafka but it seems to have the lowest latency in messages.
Brendan McKenna | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
RabbitMQ is our service bus and is how we perform communication across our microservice APIs. We have about a dozen or so microservices which all make use of RabbitMQ. It's extremely integral to our systems and the fact that you can send a message with built-in fault tolerance is pretty incredible when you think about it.
  • Messaging
  • Fault Tolerance
  • Ease of Integration
  • The admin dashboard could use some improvements
  • Can be difficult to administer the bus
Very well suited for cross-platform communication while solving the problem of fault tolerance with built-in retry mechanisms. It's less appropriate for communication within a single service.
  • Cross platform communication
  • Fault Tolerance
  • Huge positive impact, there have been times when systems have gone down but once we spin them back up the RabbitMQ consumers can continue processing messages in the queue/
Return to navigation