Amazon Simple Queue Service (SQS) vs. RabbitMQ

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Amazon SQS
Score 7.9 out of 10
N/A
Amazon Web Services (AWS) Provides the Amazon Simple Queue Service (SQS), a managed message queue service which supports the safe decoupling and distribution of different components in a cloud infrastructure and cloud applications.
$0
per GB
RabbitMQ
Score 7.8 out of 10
N/A
RabbitMQ, an open source message broker, is part of Pivotal Software, a VMware company acquired in 2019, and supports message queue, multiple messaging protocols, and more. RabbitMQ is available open source, however VMware also offers a range of commercial services for RabbitMQ; these are available as part of the Pivotal App Suite.N/A
Pricing
Amazon Simple Queue Service (SQS)RabbitMQ
Editions & Modules
All Data Transfer In
$0.00
per GB
Standard Queue
$0.00000004
per request
FIFO Queue
$0.00000005
per request
No answers on this topic
Offerings
Pricing Offerings
Amazon SQSRabbitMQ
Free Trial
NoNo
Free/Freemium Version
YesNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Amazon Simple Queue Service (SQS)RabbitMQ
Considered Both Products
Amazon SQS
Chose Amazon SQS
Simple and quick implementation makes it a first go to service when not familiar with queue management. Handling of Dead messages in queue is helpful, as over time these messages stack up causing lots of unnecessary processing at listener end. Retry mechanism for failed …
Chose Amazon SQS
I wanted to select "RabbitMQ" instead of IBM Cloud Messages for RabbitMQ....
At first, we have some instances running RabbitMQ but SQS is a fully managed queuing service it was way more convenient to use it and get rid of RabbitMQ !
Chose Amazon SQS
To be blunt: Amazon SQS was the simplest to implement given our requirements. Other services in this space work just as well, and SQS does not have any benefits outside of being the easiest to implement when using an otherwise fully AWS stack. AWS itself even has other …
Chose Amazon SQS
The reason for the choice is due to maintenance needs and HIPPA compliance, as well as the great options under the AWS ecosystem, with very useful configurable parameters.
Chose Amazon SQS
The most comparable products are RabbitMQ, and perhaps ActiveMQ. Until recently, AWS did not offer a managed ActiveMQ product. Running RabbitMQ will never be to my team's competitive advantage; we wanted a managed service.
Chose Amazon SQS
Amazon SQS stacks up with the best of them as most of their products do. The only issue comparatively that I’ve had with this service, in particular, is the silently failing messages and then allocation of time to dedicate to debugging when the issue of why a message got stuck …
RabbitMQ
Chose RabbitMQ
RabbitMQ has a few advantages over Azure Service Bus
1) RMQ handles substantially larger files - ASB tops out at 100MB, we use RabbitMQfor files over 200MB
2) RabbitMQ can be easily setup on prem - Azure Service Bus is cloud only
Chose RabbitMQ
It is very easy to use as it has a simple function to connect and use RabbitMQ.
It is having Fast Learning curve, Any newbies can learn it in a week or month. It is having proper documentation, we are able to find all the details about its functionality and usage of it.
The …
Chose RabbitMQ
I have not used other products other than a roll-your-own solution. The Selection of RabbitMQ was made before I began working on the project but I was able to leverage it well without making major changes to the existing apps. This was particularly helpful in lowering risks. I …
Chose RabbitMQ
RabbitMQ cannot resend messages like Apache Kafka but it seems to have the lowest latency in messages.
Chose RabbitMQ
For basic use cases, SQS is way easy to deploy and maintain compared to RabbitMQ. RabbitMQ can cover a lot more use-cases but actually, we did not face specific scenarios that make it necessary to come back to RabbitMQ.
Chose RabbitMQ
It is just better documented and seems a better fit given that is done using erlang. PubSub+ low level approach seems unsafe. They work with custom hardware whereas Pivotal RabbitMQ seem a better fit for generic hardware (cloud).
Chose RabbitMQ
Honestly, though we're still trying out Kafka and Pulsar, I'd go with them for message broker and as traffic buffers. We are only still using RabbitMQ because it's hard to transition off after writing tons of code custom-built for RabbitMQ. Kafka is better because it's way more …
Chose RabbitMQ
None of the options in the list are really similar products. We use Apache Camel in conjunction with RabbitMQ and we also use Oracle Integration Cloud and WSO2 for messaging. Integration Cloud is SaaS-based and low code, so it's drastically different in that regard. WS02 is …
TrustRadius Insights
Amazon Simple Queue Service (SQS)RabbitMQ
Highlights

TrustRadius
Research Team Insight
Published

Amazon SQS and RabbitMQ are both message queue software that allow for asynchronous communication between IT systems.  Amazon SQS is a pseudo queue that ensures messages are delivered from one system to another, though not necessarily in an ordered manner.  In contrast, RabbitMQ is a traditional message broker where messages are delivered in a first in, first out order, ensuring that messages are read in the same order they are sent. Both tools are popular with businesses of all sizes. 

Features

Amazon SQS and RabbitMQ both serve as message queues, but they also have some standout features that set them apart from each other. 

One advantage of Amazon SQS is that it has built in compliance features, so businesses that need to comply with HIPAA, for example, will have little difficulty with Amazon SQS.  Scalability and availability are also generally nonissues with Amazon SQS since it is built into AWS.  Amazon SQS also boasts high reliability and security, so businesses using AWS can rely on Amazon SQS to secure and deliver messages with a high level of consistency.  All in all, Amazon SQS is a strong, low effort choice for businesses using AWS.

RabbitMQ provides FIFO queues in all regions, so for businesses where message order is essential, RabbitMQ is a strong choice.  Additionally, RabbitMQ is open-source, lightweight, and flexible.  Businesses will almost always be able to fit RabbitMQ into their IT infrastructure whether they want to deploy it on premise or on the cloud.  For businesses looking for a lightweight, high speed message broker, RabbitMQ is a great solution. 

Limitations

Amazon SQS and RabbitMQ both help systems communicate with each other, but they also have some limitations that are important to consider.

Amazon SQS only offers FIFO queues in certain regions, so if your business isn’t in one of those regions and message order is important, other options should be considered.  Additionally, Amazon SQS is inflexible in its implementation, it is a cloud tool that works well with AWS.  For businesses looking for a more customizable, or on premise implementation, RabbitMQ may be preferred.

RabbitMQ is lightweight and high speed, but it doesn’t offer easy scalability compared to Amazon SQS, where scalability is built into AWS.  Additionally, while RabbitMQ is capable of many different types of implementations, it is more difficult to set up compared to Amazon SQS, so businesses with limited technical resources may need support.  Additionally, RabbitMQ doesn’t include features for meeting compliance standards out of the box.  For businesses that want a simple to implement, cloud based message queue, Amazon SQS may be a better choice. 

Pricing

Amazon SQS pricing scales automatically depending on the number of requests made.  The first million requests per month are free, after which every million requests costs $0.40.

RabbitMQ is an open-source software, meaning the source code is available online for free. Vendors offer support for RabbitMQ, ranging from implementation to ongoing maintenance. Quotes are available from the vendor for RabbitMQ support. 

Best Alternatives
Amazon Simple Queue Service (SQS)RabbitMQ
Small Businesses

No answers on this topic

No answers on this topic

Medium-sized Companies
Apache Kafka
Apache Kafka
Score 7.7 out of 10
Apache Kafka
Apache Kafka
Score 7.7 out of 10
Enterprises
Apache Kafka
Apache Kafka
Score 7.7 out of 10
Apache Kafka
Apache Kafka
Score 7.7 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Amazon Simple Queue Service (SQS)RabbitMQ
Likelihood to Recommend
7.1
(0 ratings)
9.9
(0 ratings)
Usability
-
(0 ratings)
8.0
(0 ratings)
Support Rating
10.0
(0 ratings)
6.5
(0 ratings)
User Testimonials
Amazon Simple Queue Service (SQS)RabbitMQ
Likelihood to Recommend
While we use AmazonSimple Queue Service (SQS) in our serverless applications, it would be a great option to handle queue management for any internet-connect application. It provides the most benefit in situations where your application or service must maintain mission-critical queue of messages or jobs. If you're already using other AWS services you will find the greatest benefit.
Read full review
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.
Read full review
Pros
  • SQS is reliable and fully managed. Our engineers do not have to worry about running RabbitMQ.
  • SQS is very inexpensive.
  • SQS allows data to be encrypted in transit, which may be required for compliance in some products.
  • FIFO queues provide exactly-once processing.
Read full review
  • 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.
Read full review
Cons
  • More frequest polling will be expensive
  • No detailed monitoring of queues, just current data and regular monitoring is present
  • No way to fetch messages back from the queue
Read full review
  • It breaks communication if we don't acknowledge early. In some cases our work items are time consuming that will take a time and in that scenario we are getting errors that RabbitMQ broke the channel. It will be good if RabbitMQ provides two acknowledgements, one is for that it has been received at client side and second ack is client is completed the processing part.
Read full review
Usability
No answers on this topic
RabbitMQ is very usable if you are a programmer or DevOps engineer. You can setup and configure a messaging system without any programmatic knowledge either through an admin console plugin or through a command-line interface. It's very easy to spin up additional consumers when volume is heavy and it's very easy to manage those consumers either through automated scripting or through their admin console. Because it's language agnostic it integrates with any system supporting AMQP.
Read full review
Support Rating
Online blogging and documentation for SQS is great. There are many examples of implementing it and if you look hard enough, more than likely there are examples that meet the exact case with which you are working
Read full review
I gave it a 10 but we do not have a support contract with any company for RabbitMQ so there is no official support in that regard. However, there is a community and questions asked on StackOverflow or any other major question and answer site will usually get a response.
Read full review
Alternatives Considered
To be blunt: Amazon SQS was the simplest to implement given our requirements. Other services in this space work just as well, and SQS does not have any benefits outside of being the easiest to implement when using an otherwise fully AWS stack. AWS itself even has other solutions that would work just as well, however, SQS had the most reasonable pricing model for our given situation. That will certainly not always be the case, but in several of the instances where we are using it, it just made the most sense.
Read full review
It is very easy to use as it has a simple function to connect and use RabbitMQ. It is having Fast Learning curve, Any newbies can learn it in a week or month. It is having proper documentation, we are able to find all the details about its functionality and usage of it. The Features of RabbitMQ are providing are matching with our business requirements.
Read full review
Return on Investment
  • Under the AWS Echo system, it provides great operating power to the application.
  • The cost is much less for messages, and it also supports a multi-user option.
  • Not for us, but for a larger organization, low throughput might become an issue for a standard queue type.
Read full review
  • Earlier we had a problem with missing work items with our own implementation but later using RabbitMQ is solved a problem. Now our job processing mechanism is highly reliable.
  • We also had a problem with scaling, processing 1k work items per second. RabbitMQ helped us to scale well with increasing work items.
Read full review
ScreenShots