What is Amazon Simple Queue Service?
Amazon Simple Queue Service (Amazon SQS) offers a secure, durable, and available hosted queue that lets you integrate and decouple distributed software systems and components. Amazon SQS offers common constructs such as dead-letter queues and cost allocation tags. It provides a generic web services API that you can access using any programming language that the AWS SDK supports.
Amazon SQS supports both standard and FIFO queues. For more information, see Queue types.
Topics
Benefits of using Amazon SQS
-
Security – You control who can send messages to and receive messages from an Amazon SQS queue.
Server-side encryption (SSE) lets you transmit sensitive data by protecting the contents of messages in queues using keys managed in AWS Key Management Service (AWS KMS).
-
Durability – For the safety of your messages, Amazon SQS stores them on multiple servers. Standard queues support at-least-once message delivery, and FIFO queues support exactly-once message processing.
-
Availability – Amazon SQS uses redundant infrastructure to provide highly-concurrent access to messages and high availability for producing and consuming messages.
-
Scalability – Amazon SQS can process each buffered request independently, scaling transparently to handle any load increases or spikes without any provisioning instructions.
-
Reliability – Amazon SQS locks your messages during processing, so that multiple producers can send and multiple consumers can receive messages at the same time.
-
Customization – Your queues don't have to be exactly alike—for example, you can set a default delay on a queue. You can store the contents of messages larger than 256 KB using Amazon Simple Storage Service (Amazon S3) or Amazon DynamoDB, with Amazon SQS holding a pointer to the Amazon S3 object, or you can split a large message into smaller messages.
Differences between Amazon SQS, Amazon MQ, and Amazon SNS
Amazon SQS and Amazon SNS
Amazon MQ
Queue types
The following table describes the capabilities of standard queues and FIFO queues.
Standard queue | FIFO queue |
---|---|
Unlimited Throughput –
Standard queues support a nearly unlimited number of API calls per second, per API action
( At-Least-Once Delivery – A message is delivered at least once, but occasionally more than one copy of a message is delivered. Best-Effort Ordering – Occasionally, messages are delivered in an order different from which they were sent. |
High Throughput –
If you use batching, FIFO queues support up to
3,000 messages per second, per API method ( Exactly-Once Processing – A message is delivered once and remains available until a consumer processes and deletes it. Duplicates aren't introduced into the queue. First-In-First-Out Delivery – The order in which messages are sent and received is strictly preserved. |
![]() |
![]() |
Send data between applications when the throughput is important, for example:
|
Send data between applications when the order of events is important, for example:
|
Common tasks for getting started with Amazon SQS
-
To create your first queue with Amazon SQS and send, receive, and delete a message, see Getting started with Amazon SQS.
-
To trigger a Lambda function, see Configuring a queue to trigger an AWS Lambda function (console).
-
To discover the functionality and architecture of Amazon SQS, see How Amazon SQS works.
-
To find out the guidelines and caveats that will help you make the most of Amazon SQS, see Best practices for Amazon SQS.
-
Explore the Amazon SQS examples for one of the AWS SDKs, such as the AWS SDK for Java 2.x Developer Guide.
-
To learn about Amazon SQS actions, see the Amazon Simple Queue Service API Reference.
-
To learn about Amazon SQS AWS CLI commands, see the AWS CLI Command Reference.
Pricing for Amazon SQS
Amazon SQS has no upfront costs. The first million monthly requests are free. After that, you pay based on the number and content of requests, and the interactions with Amazon S3 and the AWS Key Management Service.
For information, see Amazon SQS pricing