Amazon Simple Queue Service
{{Short description|Cloud-based message queuing service}}
{{Infobox software
| name = Amazon Simple Queue Service
| logo = AWS Simple Icons Messaging Amazon SQS.svg
| developer = Amazon.com
| license = Proprietary software
| website = {{URL|https://aws.amazon.com/sqs/}}
}}
Amazon Simple Queue Service (Amazon SQS) is a distributed message queuing service introduced by Amazon.com as a beta in late 2004, and generally available in mid 2006.{{Cite web|date=2006-07-13|title=Amazon Simple Queue Service Released|url=https://aws.amazon.com/blogs/aws/amazon_simple_q/|access-date=2021-10-29|website=Amazon Web Services|language=en-US}}{{cite web|url=http://jeff-barr.com/2014/08/19/my-first-12-years-at-amazon-dot-com/ |title=My First 12 Years at Amazon.com|first=Jeff|last=Barr|date=2014-08-19|website=jeff-barr.com|access-date=2021-01-11}}
API
Amazon provides SDKs in several programming languages, including:{{cite web |url=https://docs.aws.amazon.com/sdkref/latest/guide/overview.html |title=AWS SDKs and Tools |author=AWS |date=2024 |access-date=2024-05-29 }}
A Java Message Service (JMS) 1.1 client for Amazon SQS was released in December 2014.{{fact|date=May 2024}}
Operation
Amazon SQS FIFO and Azure Service Bus sessions are queue-based messaging systems that provide ordering guarantees within a message group or session attempt but do not necessarily guarantee ordered delivery in cases of retries or failures. In SQS FIFO, messages in the same message group are processed in order, with subsequent messages held until the preceding message is successfully processed or moved to the dead-letter queue (DLQ). Once a message is placed in the DLQ, it is no longer retried, creating a gap in the sequence. However, the remaining messages continue to be delivered in order.{{Cite web |title=FIFO queue delivery logic in Amazon SQS - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}{{Cite web |title=Using dead-letter queues in Amazon SQS - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}{{Cite web |title=Amazon SQS FIFO queues - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}
Message delivery
Messages can be of any type, and the data contained within is not restricted. Message bodies were initially limited to 8KB in size but was later raised to 64KB on 2010-07-01{{Cite web|url=https://aws.amazon.com/about-aws/whats-new/2010/07/01/amazon-sqs-introduces-free-tier-and-adds-support-for-larger-messages-and-longer-retention/|title=Amazon SQS introduces Free Tier and adds Support for Larger Messages and Longer Retention|date=2010-07-01|website=aws.amazon.com|access-date=2021-01-11}} and then 256KB on 2013-06-18.{{cite web|url=https://aws.amazon.com/about-aws/whats-new/2013/06/18/amazon-sqs-announces-256KB-large-payloads/ |title=Amazon SQS and SNS Announce 256KB Large Payloads |website=aws.amazon.com |date=2013-06-18 |access-date=2021-01-11}} For larger messages, the user has a few options to get around this limitation. A large message can be split into multiple segments that are sent separately, or the message data can be stored using Amazon Simple Storage Service (Amazon S3) or Amazon DynamoDB with just a pointer to the data transmitted in the SQS message. Amazon has made an Extended Client Library available for this purpose.{{GitHub|awslabs/amazon-sqs-java-extended-client-lib|An extension to the Amazon SQS client that enables sending and receiving messages up to 2GB via Amazon S3.}}
The service supports both unlimited queues and message traffic.
Notable usage
Examples of companies that use SQS extensively include:
- Dropbox{{Cite AV media |url=https://www.youtube.com/watch?v=mP46FviScYQ |title=AWS re:Invent 2014 {{!}} (PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS |date=2014-11-14 |last=Amazon Web Services |access-date=2024-12-07 |via=YouTube}}
- Netflix{{Cite web
| url=http://techblog.netflix.com/2011/04/more-like-this-building-network-of.html
| title="More Like This…" Building a network of similarity
| date=2011-04-18
| first=Hans
| last=Granqvist
| work=Netflix Tech Blog
| archive-url=https://web.archive.org/web/20161128083030/http://techblog.netflix.com/2011/04/more-like-this-building-network-of.html
| archive-date=2016-11-28
}}
| url=https://engblog.nextdoor.com/nextdoor-taskworker-simple-efficient-amp-scalable-ac4f7886957b
| title=Nextdoor Taskworker: Simple, Efficient & Scalable
| first=Wenbin
| last=Fang
| date=2014-08-13
| website=Nextdoor Engineering}}
See also
References
{{Reflist}}
{{Cloud computing}}
{{Amazon}}
Category:Message-oriented middleware