RabbitMQ logo

RabbitMQ

Open source multiprotocol messaging broker
18.7K
16.4K
+ 1
523

What is RabbitMQ?

RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
RabbitMQ is a tool in the Message Queue category of a tech stack.
RabbitMQ is an open source tool with 10.3K GitHub stars and 3.8K GitHub forks. Here’s a link to RabbitMQ's open source repository on GitHub

Who uses RabbitMQ?

Companies
2011 companies reportedly use RabbitMQ in their tech stacks, including Robinhood, reddit, and Tech Stack.

Developers
16086 developers on StackShare have stated that they use RabbitMQ.

RabbitMQ Integrations

Datadog, Buddy, Netdata, TimescaleDB, and StackStorm are some of the popular tools that integrate with RabbitMQ. Here's a list of all 28 tools that integrate with RabbitMQ.
Pros of RabbitMQ
232
It's fast and it works with good metrics/monitoring
79
Ease of configuration
58
I like the admin interface
50
Easy to set-up and start with
20
Durable
18
Standard protocols
18
Intuitive work through python
10
Written primarily in Erlang
8
Simply superb
6
Completeness of messaging patterns
3
Scales to 1 million messages per second
3
Reliable
2
Better than most traditional queue based message broker
2
Distributed
2
Supports MQTT
2
Supports AMQP
1
Inubit Integration
1
Open-source
1
Delayed messages
1
Runs on Open Telecom Platform
1
High performance
1
Reliability
1
Clusterable
1
Clear documentation with different scripting language
1
Great ui
1
Better routing system
Decisions about RabbitMQ

Here are some stack decisions, common use cases and reviews by companies and developers who chose RabbitMQ in their tech stack.

waheed khan
Associate Java Developer at txtsol · | 3 upvotes · 151 views
Shared insights
on
KafkaKafkaRabbitMQRabbitMQ

Hi all, I'm working on a project where I have to implement Messaging queues in a project. I just need to know about your personal experience with these queues which is best (RabbitMQ or Kafka).

Thanks

See more
Mary Olowu
Technical operations Engineer · | 6 upvotes · 8.1K views
Shared insights
on
RabbitMQRabbitMQRedisRedis

I am developing a microservice architecture that necessitates service-to-service communication. Validating authorization using a token that is passed from the auth service to the other services is one of these needs. I'm thinking about using the RPC communication strategy with Redis or RabbitMQ. Any suggestions?

See more
Shared insights
on
RabbitMQRabbitMQRedisRedisKafkaKafka

We are currently moving to a microservice architecture and are debating about the different options there are to handle communication between services. We are currently considering Kafka, Redis or RabbitMQ as a message broker. As RabbitMQ is a little bit older, we thought that it may be outdated. Is that true? Can RabbitMQ hold up to more modern tools like Redis and Kafka?

See more
Pulkit Sapra

Hi! I am creating a scraping system in Django, which involves long running tasks between 1 minute & 1 Day. As I am new to Message Brokers and Task Queues, I need advice on which architecture to use for my system. ( Amazon SQS, RabbitMQ, or Celery). The system should be autoscalable using Kubernetes(K8) based on the number of pending tasks in the queue.

See more
Shared insights
on
MongoDBMongoDBCeleryCeleryRabbitMQRabbitMQ

I am just a beginner at these two technologies.

Problem statement: I am getting lakh of users from the sequel server for whom I need to create caches in MongoDB by making different REST API requests.

Here these users can be treated as messages. Each REST API request is a task.

I am confused about whether I should go for RabbitMQ alone or Celery.

If I have to go with RabbitMQ, I prefer to use python with Pika module. But the challenge with Pika is, it is not thread-safe. So I am not finding a way to execute a lakh of API requests in parallel using multiple threads using Pika.

If I have to go with Celery, I don't know how I can achieve better scalability in executing these API requests in parallel.

See more
Meili Triantafyllidi
Software engineer at Digital Science · | 6 upvotes · 338.5K views
Shared insights
on
Amazon SQSAmazon SQSRabbitMQRabbitMQZeroMQZeroMQ

Hi, we are in a ZMQ set up in a push/pull pattern, and we currently start to have more traffic and cases that the service is unavailable or stuck. We want to: * Not loose messages in services outages * Safely restart service without losing messages (ZeroMQ seems to need to close the socket in the receiver before restart manually)

Do you have experience with this setup with ZeroMQ? Would you suggest RabbitMQ or Amazon SQS (we are in AWS setup) instead? Something else?

Thank you for your time

See more

Blog Posts

GitHubPythonNode.js+47
53
71074
GitHubGitDocker+34
29
41871
JavaScriptGitHubPython+42
53
20953
GitHubPythonSlack+25
7
3024
GitHubPythonDocker+24
13
16876
GitHubMySQLSlack+44
109
50457

RabbitMQ's Features

  • Robust messaging for applications
  • Easy to use
  • Runs on all major operating systems
  • Supports a huge number of developer platforms
  • Open source and commercially supported

RabbitMQ Alternatives & Comparisons

What are some alternatives to RabbitMQ?
Kafka
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
ActiveMQ
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.
ZeroMQ
The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.
Amazon SNS
Amazon Simple Notification Service makes it simple and cost-effective to push to mobile devices such as iPhone, iPad, Android, Kindle Fire, and internet connected smart devices, as well as pushing to other distributed services. Besides pushing cloud notifications directly to mobile devices, SNS can also deliver notifications by SMS text message or email, to Simple Queue Service (SQS) queues, or to any HTTP endpoint.
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
See all alternatives

RabbitMQ's Followers
16353 developers follow RabbitMQ to keep up with related blogs and decisions.