Alternatives to RabbitMQ logo

Alternatives to RabbitMQ

Kafka, ActiveMQ, ZeroMQ, Amazon SNS, and Redis are the most popular alternatives and competitors to RabbitMQ.
8.4K
7.5K
+ 1
487

What is RabbitMQ and what are its top alternatives?

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 7.1K GitHub stars and 2.5K GitHub forks. Here’s a link to RabbitMQ's open source repository on GitHub

Top Alternatives of RabbitMQ

RabbitMQ alternatives & related posts

related Kafka posts

Eric Colson
Eric Colson
Chief Algorithms Officer at Stitch Fix · | 19 upvotes · 1.1M views

The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

For more info:

#DataScience #DataStack #Data

See more
John Kodumal
John Kodumal
CTO at LaunchDarkly · | 16 upvotes · 731.8K views

As we've evolved or added additional infrastructure to our stack, we've biased towards managed services. Most new backing stores are Amazon RDS instances now. We do use self-managed PostgreSQL with TimescaleDB for time-series data—this is made HA with the use of Patroni and Consul.

We also use managed Amazon ElastiCache instances instead of spinning up Amazon EC2 instances to run Redis workloads, as well as shifting to Amazon Kinesis instead of Kafka.

See more

related ActiveMQ posts

Naushad Warsi
Naushad Warsi
software developer at klingelnberg · | 1 upvotes · 310.7K views
Shared insights
on
ActiveMQActiveMQRabbitMQRabbitMQ

I use ActiveMQ because RabbitMQ have stopped giving the support for AMQP 1.0 or above version and the earlier version of AMQP doesn't give the functionality to support OAuth.

If OAuth is not required and we can go with AMQP 0.9 then i still recommend rabbitMq.

See more
ZeroMQ logo

ZeroMQ

176
288
55
176
288
+ 1
55
Fast, lightweight messaging library that allows you to design complex communication system without much effort
ZeroMQ logo
ZeroMQ
VS
RabbitMQ logo
RabbitMQ
Amazon SNS logo

Amazon SNS

875
644
6
875
644
+ 1
6
Fully managed push messaging service
Amazon SNS logo
Amazon SNS
VS
RabbitMQ logo
RabbitMQ

related Amazon SNS posts

Cyril Duchon-Doris
Cyril Duchon-Doris
CTO at My Job Glasses · | 9 upvotes · 99.3K views

We decided to use AWS Lambda for several serverless tasks such as

  • Managing AWS backups
  • Processing emails received on Amazon SES and stored to Amazon S3 and notified via Amazon SNS, so as to push a message on our Redis so our Sidekiq Rails workers can process inbound emails
  • Pushing some relevant Amazon CloudWatch metrics and alarms to Slack
See more
Redis logo

Redis

24.7K
18.9K
3.8K
24.7K
18.9K
+ 1
3.8K
An in-memory database that persists on disk
Redis logo
Redis
VS
RabbitMQ logo
RabbitMQ

related Redis posts

Robert Zuber
Robert Zuber

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more

related Beanstalkd posts

Frédéric MARAND
Frédéric MARAND
Core Developer at OSInet · | 2 upvotes · 136.3K views

I used Kafka originally because it was mandated as part of the top-level IT requirements at a Fortune 500 client. What I found was that it was orders of magnitude more complex ...and powerful than my daily Beanstalkd , and far more flexible, resilient, and manageable than RabbitMQ.

So for any case where utmost flexibility and resilience are part of the deal, I would use Kafka again. But due to the complexities involved, for any time where this level of scalability is not required, I would probably just use Beanstalkd for its simplicity.

I tend to find RabbitMQ to be in an uncomfortable middle place between these two extremities.

See more
gRPC logo

gRPC

468
536
24
468
536
+ 1
24
A high performance, open-source universal RPC framework
gRPC logo
gRPC
VS
RabbitMQ logo
RabbitMQ

related gRPC posts

Shared insights
on
KafkaKafkagRPCgRPC
at

By mid-2015, Uber’s rider growth coupled with its cadence of releasing new services, like Eats and Freight, was pressuring the infrastructure. To allow the decoupling of consumption from production, and to add an abstraction layer between users, developers, and infrastructure, Uber built Catalyst, a serverless internal service mesh.

Uber decided to build their own severless solution, rather that using something like AWS Lambda, speed for its global production environments as well as introspectability.

See more