Amazon SQS vs Celery vs RabbitMQ

Amazon SQS
Amazon SQS

936
441
125
Celery
Celery

839
494
239
RabbitMQ
RabbitMQ

4.2K
2.9K
449
- No public GitHub repository available -

What is Amazon SQS?

Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.

What is Celery?

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

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.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Amazon SQS?
Why do developers choose Celery?
Why do developers choose RabbitMQ?

Sign up to add, upvote and see more prosMake informed product decisions

What are the cons of using Amazon SQS?
What are the cons of using Celery?
What are the cons of using RabbitMQ?
What companies use Amazon SQS?
What companies use Celery?
What companies use RabbitMQ?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon SQS?
What tools integrate with Celery?
What tools integrate with RabbitMQ?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Amazon SQS, Celery, and RabbitMQ?
Amazon MQ
Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud.
Kafka
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
Redis
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
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.
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.
See all alternatives
Decisions about Amazon SQS, Celery, and RabbitMQ
No stack decisions found
Interest over time
Reviews of Amazon SQS, Celery, and RabbitMQ
Review ofRabbitMQRabbitMQ

I developed one of the largest queue based medical results delivery systems in the world, 18,000+ queues and still growing over a decade later all using MQSeries, later called Websphere MQ. When I left that company I started using RabbitMQ after doing some research on free offerings.. it works brilliantly and is incredibly flexible from small scale single instance use to large scale multi-server - multi-site architectures.

If you can think in queues then RabbitMQ should be a viable solution for integrating disparate systems.

How developers use Amazon SQS, Celery, and RabbitMQ
Avatar of Karma
Karma uses Amazon SQSAmazon SQS

In the beginning we thought we wanted to start using something like RabbitMQ or maybe Kafka or maybe ActiveMQ. Back then we only had a few developers and no ops people. That has changed now, but we didn't really look forward to setting up a queuing cluster and making sure that all works.

What we did instead was we looked at what services Amazon offers to see if we can use those to build our own messaging system within those services. That's basically what we did. We wrote some clients in Ruby that can basically do the entire orchestration for us, and we run all our messaging on both SNS and SQS. Basically what you can do in Amazon services is you can use Amazon Simple Notification Service, so SNS, for creating topics and you can use queues to subscribe to these topics. That's basically all you need for a messaging system. You don't have to worry about scalability at all. That's what really appealed to us.

Avatar of Kalibrr
Kalibrr uses CeleryCelery

All of our background jobs (e.g., image resizing, file uploading, email and SMS sending) are done through Celery (using Redis as its broker). Celery's scheduling and retrying features are especially useful for error-prone tasks, such as email and SMS sending.

Avatar of Cloudify
Cloudify uses CeleryCelery

For orchestrating the creation of the correct number of instances, managing errors and retries, and finally managing the deallocation of resources we use RabbitMQ in conjunction with the Celery Project framework, along with a self-developed workflow engine.

Avatar of Brandon Adams
Brandon Adams uses Amazon SQSAmazon SQS

This isn't exactly low-latency (10s to 100s of milliseconds), but it has good throughput and a simple API. There is good reliability, and there is no configuration necessary to get up and running. A hosted queue is important when trying to move fast.

Avatar of MOKA Analytics
MOKA Analytics uses CeleryCelery

We maintain a fork of Celery 3 that adds HTTPS support for Redis brokers. The Winning Model currently uses Celery 3 because Celery 4 dropped support for Windows.

We plan on migrating to Celery 4 once Azure ASE supports Linux apps

Avatar of Cloudify
Cloudify uses RabbitMQRabbitMQ

The poster child for scalable messaging systems, RabbitMQ has been used in countless large scale systems as the messaging backbone of any large cluster, and has proven itself time and again in many production settings.

Avatar of Chris Saylor
Chris Saylor uses RabbitMQRabbitMQ

Rabbit acts as our coordinator for all actions that happen during game time. All worker containers connect to rabbit in order to receive game events and emit their own events when applicable.

Avatar of Clarabridge Engage
Clarabridge Engage uses RabbitMQRabbitMQ

Used as central Message Broker; off-loading tasks to be executed asynchronous, used as communication tool between different microservices, used as tool to handle peaks in incoming data, etc.

Avatar of Analytical Informatics
Analytical Informatics uses RabbitMQRabbitMQ

RabbitMQ is the enterprise message bus for our platform, providing infrastructure for managing our ETL queues, real-time event notifications for applications, and audit logging.

Avatar of Packet
Packet uses RabbitMQRabbitMQ

RabbitMQ is an all purpose queuing service for our stack. We use it for user facing jobs as well as keeping track of behind the scenes jobs.

Avatar of Simple Merchant
Simple Merchant uses Amazon SQSAmazon SQS

SQS is the bridge between our new Lambda services and our incumbent Rails applications. Extremely easy to use when you're already using other AWS infrastructure.

Avatar of Yaakov Gesher
Yaakov Gesher uses CeleryCelery

We used celery, in combination with RabbitMQ and celery-beat, to run periodic tasks, as well as some user-initiated long-running tasks on the server.

Avatar of Dieter Adriaenssens
Dieter Adriaenssens uses CeleryCelery

Using Celery, the web service creates tasks that are executed by a background worker. Celery uses a RabbitMQ instance as a task queue.

Avatar of Olo
Olo uses Amazon SQSAmazon SQS

Primary message queue. Enqueueing operations revert to a local file-system-based queue when SQS is unavailable.

Avatar of IndiTip
IndiTip uses Amazon SQSAmazon SQS

I can't afford to lose data if Dynamo throttles my writes, so everything goes into a message queue first.

How much does Amazon SQS cost?
How much does Celery cost?
How much does RabbitMQ cost?
Pricing unavailable
Pricing unavailable
News about RabbitMQ
More news