TrustRadius Insights for RabbitMQ are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
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.
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.
Pros
Queuing
Simple SetUp
Easy to integrate with
Cons
A bit complicated to take full advantage of its features.
Dashboard could be improved.
Likelihood to Recommend
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.
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.
Pros
Several libraries in many languages our customers use.
Mirroring to deal with failures.
Scalability to deal with high rate in producer.
Cons
More "Rabbit" plugins
UI for monitoring
Likelihood to Recommend
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.
VU
Verified User
Consultant in Information Technology (Computer Software company, 11-50 employees)
We used Pivotal RabbitMQ in order to develop our own framework. We have a custom architecture to distribute task and commands between our micro services. The effect of RabbitMQ reached all organization as we developed Administration backend UIs for all departments.
The organization managed users and the project using RabbitMQ.
Previously, in other organization we used it as medium to communicate nano-services following a similar pattern as previously described.
Pros
Document the internal processes of Pivotal RabbitMQ so you fully understand what can and cannot do.
Concurrency and resource utilization.
Handling dead letter queues and giving flexibility to create your own dead letter systems.
AMQL 0.9.1 is extremely flexible.
Cons
Shovels are quite raw to use.
More AMQP extensions like the publisher confirmation for not requiring so many queues.
Easy AMQP entities configuration changes on production.
Likelihood to Recommend
Messages, commands that need conformation (a la RPC). When you have small and medium-sized important messages it is very good.
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.
Pros
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
Cons
More simplified, some aspects of it is a little technical though
Likelihood to Recommend
Was most suitable whenever we wanted to know the successful delivery rate of our SMS platform.
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.
Pros
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.
Cons
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.
Likelihood to Recommend
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.
VU
Verified User
Engineer in Engineering (Internet company, 201-500 employees)