Amazon SQS vs Kafka vs RabbitMQ

Amazon SQS
Amazon SQS

903
254
125
Kafka
Kafka

3.1K
4.4K
458
RabbitMQ
RabbitMQ

4.1K
1.8K
447
- 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 Kafka?

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

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 Kafka?
Why do developers choose RabbitMQ?
What are the cons of using Amazon SQS?
What are the cons of using Kafka?
What are the cons of using RabbitMQ?
What companies use Amazon SQS?
What companies use Kafka?
What companies use RabbitMQ?
What are some alternatives to Amazon SQS, Kafka, 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.
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.
Amazon Kinesis
Amazon Kinesis can collect and process hundreds of gigabytes of data per second from hundreds of thousands of sources, allowing you to easily write applications that process information in real-time, from sources such as web site click-streams, marketing and financial information, manufacturing instrumentation and social media, and operational logs and metering data.
See all alternatives
What tools integrate with Amazon SQS?
What tools integrate with Kafka?
What tools integrate with RabbitMQ?
    No integrations found
      No integrations found
        No integrations found
        Decisions about Amazon SQS, Kafka, and RabbitMQ
        No stack decisions found
        Interest over time
        Reviews of Amazon SQS, Kafka, 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, Kafka, 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 Pinterest
        Pinterest uses KafkaKafka

        http://media.tumblr.com/d319bd2624d20c8a81f77127d3c878d0/tumblr_inline_nanyv6GCKl1s1gqll.png

        Front-end messages are logged to Kafka by our API and application servers. We have batch processing (on the middle-left) and real-time processing (on the middle-right) pipelines to process the experiment data. For batch processing, after daily raw log get to s3, we start our nightly experiment workflow to figure out experiment users groups and experiment metrics. We use our in-house workflow management system Pinball to manage the dependencies of all these MapReduce jobs.

        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 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 Coolfront Technologies
        Coolfront Technologies uses KafkaKafka

        Building out real-time streaming server to present data insights to Coolfront Mobile customers and internal sales and marketing teams.

        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.

        Avatar of ShareThis
        ShareThis uses KafkaKafka

        We are using Kafka as a message queue to process our widget logs.

        Avatar of Christopher Davison
        Christopher Davison uses KafkaKafka

        Used for communications and triggering jobs across ETL systems

        Avatar of theskyinflames
        theskyinflames uses KafkaKafka

        Used as a integration middleware by messaging interchanging.

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