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-4 of 4)
Companies can't remove reviews or game the system. Here's why
October 29, 2019

Solid messaging system

Score 9 out of 10
Vetted Review
Verified User
Incentivized
RabbitMQ is used in conjunction with Ellucian Banner software, specifically Ellucian Ethos Integration product and Banner Events Publisher.
  • Easy to install.
  • Open source, so there is no software cost.
  • JSON compliant.
  • Support for SSL/TLS.
  • Failover RabbitMQ cluster for high traffic environments.
  • The documentation needs improvement in explaining how to configure the above-mentioned features.
RabbitMQ is flexible and has many potential usages. It is good for capturing data changes on the database and posting messages in the RabbitMQ queue - centralized auditing system. It is also good for developing a centralized login system.
Oracle Weblogic JMX system.
I did not use the RabbitMQ support, nor even aware that it exists. The documentation is not always detailed enough, but it should be improved.
Oracle Database 12c, Oracle Cloud Infrastructure (OCI), Ellucian Ethos Framework
October 16, 2019

RabbitMQ software review

Patrick lampatt | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We have been using RabbitMQ in the IT department. We used it to monitor our SMS service delivery platform. To monitor the delivery counts, number of successful deliveries, failed delivery and also be able to monitor the performance of the SMS platform, as in [to see] if everything is working as expected.
  • Ability to give accurate performance results
  • Ability to interpret the systems data to a more simple readable format
  • Able to give graphical as well tabular analysis
  • Reliable - doesn't fail in its performance
  • More simplified, some aspects of it is a little technical though
Was most suitable whenever we wanted to know the successful delivery rate of our SMS platform.
  • Can't quote in terms of figures but can say it's the backbone of our company in effective monitoring of our sms platform
Its been most effective and efficient. Was able to give us the results we needed to be able analyze our business input and output.
Score 6 out of 10
Vetted Review
Verified User
Incentivized
We at Iterable use RabbitMQ for two key features: (1) keeping a queue of all the incoming messages that need to be processed with some semblance of order (2) scheduling work to be done later.

The reason we need to keep a queue is that when our traffic spikes, we can have up 1 million messages coming in that need to be processed in some form or fashion. To expect the backend service to support that is crazy. Instead, we dump them into RabbitMQ to give our backend service time to process them. As for scheduling work, the use case is to give our customers control over when they want some form of work to be done. What we do is we store their work request into a RabbitMQ delay queue with a set expiration. When it expires, it expires into the normal queues where our backend service will process them.
  • What RabbitMQ does well is what it's advertised to do. It is good at providing lots of high volume, high availability queue. We've seen it handle upwards of 10 million messages in its queues, spread out over 200 queues before its publish/consume rates dipped. So yeah, it can definitely handle a lot of messages and a lot of queues. Depending on the size of the machine RabbitMQ is running on, I'm sure it can handle more.
  • Decent number of plugins! Want a plugin that gives you an interface to view all the queues and see their publish/consume rates? Yes, there's one for that. Want a plugin to "shovel" messages from one queue to another in an emergency? Check. Want a plugin that does extra logging for all the messages received? Got you covered!
  • Lots of configuration possibilities. We've tuned over 100 settings over the past year to get the performance and reliability just right. This could be a downside though--it's pretty confusing and some settings were hard to understand.
  • So why did I only give it a 5? Well, there is almost no observability out of the box. Want to see what messages are in a queue? You have to take messages out and re-enqueue them, breaking the order and risking message loss. What to list all the queues? You have to install a janky plugin that only works half the time and takes 5 seconds to refresh.
  • Delay queue expiration can cause RabbitMQ to grind to a halt. We've seen that when delay queues have over 1 million messages, they expire in an explosion! Or rather, in an ice-age. RabbitMQ tries to dump all the messages of an expired delay queue at once and it causes memory usage and CPU usage to spike and suddenly RabbitMQ stops accepting new messages into its other queues.
If you are looking for a message broker, RabbitMQ is pretty good. Its API lets you create tons of queues on demand and publish to all of them at once, while you can have 10+ consumers on each queue. It also does a good job of absorbing bursts of traffic. We've seen our queues get backed up to 3 million messages with no problem.

In the modern era of GDPR, you may run into problems with keeping messages encrypted out of the box in-flight and at-rest with RabbitMQ. Not saying it's impossible, but it's tough to set up and you have to pay a high overload.
  • Positive: we don't need to keep way too many backend machines around to deal with bursts because RabbitMQ can absorb and buffer bursts long enough to let an understaffed set of backend services to catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines around.
  • Negative: we've got many angry customers due to queues suddenly disappearing and dropping our messages when we try to publish to them afterward. Ideally, RabbitMQ should warn the user when queues expire due to inactivity but it doesn't, and due to our own bugs we've lost a lot of customer data as a result.
  • Positive: makes decoupling the web and API services from the deeper backend services easier by providing queues as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development.
Honestly, though we're still trying out Kafka and Pulsar, I'd go with them for message broker and as traffic buffers. We are only still using RabbitMQ because it's hard to transition off after writing tons of code custom-built for RabbitMQ. Kafka is better because it's way more durable and observable. You have less risk of data loss. You can replay messages easily and quickly. I like Pulsar more at a high level (haven't tried operating it myself yet) because it's more naturally scalable. You can easily divide up the work onto multiple Pulsar instances without having to re-architect your code, I think. RabbitMQ on the other hand is really hard to scale horizontally.
RabbitMQ is more software than service so there's no real customer service to speak of unless you go with a provider such as CloudAMQP. So I'll just speak on CloudAMQP. Their customer support is only okay: they only do it over email. They frequently gloss over our support tickets and half answer them without delving deeply or investigating our issues. Their response times are pretty reasonable though.
Christopher Maggiulli | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We currently use RabbitMQ to manage a majority of our outgoing emails, text messages, and faxes from a variety of different systems across the entire business. RabbitMQ sends outgoing notifications by brokering messages from producer (the source system) to consumer (the destination endpoint). For faxing our MQ instance takes in a message, generates a binary PDF file and drops it on an ActiveFax server (running on Windows 2012). For email notifications, we integrate of office 365 and for SMS we use a cloud-base provider. We a system to manage and store outgoing templates which are used during the message brokering process to send the correct notification template
  • High Performance
  • Integrates well with Spring
  • Easy Setup
  • Not a lot of tooling
  • Hard to get into the internals
  • Not incorporated in many enterprise systems
RabbitMQ is well suited to send asynchronous messages across distributed systems. We currently use it for outgoing notifications but also use it for image processing, batch processing, streaming, and other purposes. For example, we also use RabbitMQ in conjunction with Apache Camel to poll a file system for technical design files, parse those files, then fan the containing information into several different systems. Additionally, we use RabbitMQ for any long performing services (usually requested by a user from a browser) that do not require immediate feedback.
  • Solved outgoing communication issues
  • Solved performance issues with traditional request/response services
  • Solved batch image processing issues (in conjunction with other solutions)
RabbitMQ is very usable if you are a programmer or DevOps engineer. You can setup and configure a messaging system without any programmatic knowledge either through an admin console plugin or through a command-line interface. It's very easy to spin up additional consumers when volume is heavy and it's very easy to manage those consumers either through automated scripting or through their admin console. Because it's language agnostic it integrates with any system supporting AMQP.
I gave it a 10 but we do not have a support contract with any company for RabbitMQ so there is no official support in that regard. However, there is a community and questions asked on StackOverflow or any other major question and answer site will usually get a response.
None of the options in the list are really similar products. We use Apache Camel in conjunction with RabbitMQ and we also use Oracle Integration Cloud and WSO2 for messaging. Integration Cloud is SaaS-based and low code, so it's drastically different in that regard. WS02 is more similar in that it is much less abstracted but supports a wider range of message types.
Return to navigation