Amazon Simple Queue Service
This article needs additional citations for verification. (August 2015) |
Amazon.com | |
License | Proprietary software |
---|---|
Website | aws |
Amazon Simple Queue Service (Amazon SQS) is a distributed
Amazon SQS can be described as
API
Amazon provides SDKs in several programming languages including
Authentication
Amazon SQS provides authentication procedures to allow for secure handling of data. Amazon uses its
Message delivery
Amazon SQS guarantees at-least-once delivery. Messages are stored on multiple servers for redundancy and to ensure availability. If a message is delivered while a server is not available, it may not be removed from that server's queue and may be resent. As of 2007[update], Amazon SQS does not guarantee that the recipient will receive the messages in the order they were sent by the sender. If message ordering is important, it is required that the application place sequencing information within the messages to allow for reordering after 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
The service supports both unlimited queues and message traffic.
Message deletion
SQS does not automatically delete messages once they are sent. When a message is delivered, a receipt handle is generated for that delivery and sent to the recipient. These receipts are not sent with the message but in addition to it. SQS requires the recipient to provide the receipt in order to delete a message. This feature is new as of 2008 where only the message ID was required for message deletion. Because the system is distributed, a message may be sent more than once. In this case, the most recent receipt handle is needed to delete the message. Furthermore, the receipt handle may have other validity constraints; for instance, the receipt handle may only be valid during the visibility timeout (see below).
Once a message is delivered, it has a visibility timeout to prevent other components from consuming it. The "clock" for the visibility timeout starts once a message is sent, the default time being 30 seconds. If the queue is not told to delete the message during this time, the message becomes visible again and will be present.
Each queue also consists of a retention parameter defaulting to 4 days. Any message residing in the queue for longer will be purged automatically. The retention can be modified from 1 minute up to 14 days by the user. If the retention is changed while messages are already in the queue, any message that has been in the queue for longer than the new retention will be purged.
Notable usage
are examples of companies that use SQS extensively. SQS is also widely used within Amazon.com.See also
- Java Message Service
- Message queue
- Message Queuing as a Service
- Oracle Messaging Cloud Service
References
- ^ "Amazon Simple Queue Service Released". Amazon Web Services. 2006-07-13. Retrieved 2021-10-29.
- ^ Barr, Jeff (2014-08-19). "My First 12 Years at Amazon.com". jeff-barr.com. Retrieved 2021-01-11.
- ^ "Amazon SQS introduces Free Tier and adds Support for Larger Messages and Longer Retention". aws.amazon.com. 2010-07-01. Retrieved 2021-01-11.
- ^ "Amazon SQS and SNS Announce 256KB Large Payloads". aws.amazon.com. 2013-06-18. Retrieved 2021-01-11.
- ^ An extension to the Amazon SQS client that enables sending and receiving messages up to 2GB via Amazon S3. on GitHub
- ^ Granqvist, Hans (2011-04-18). ""More Like This…" Building a network of similarity". Netflix Tech Blog. Archived from the original on 2016-11-28.
- ^ Fang, Wenbin (August 13, 2014). "Nextdoor Taskworker: Simple, Efficient & Scalable". Nextdoor Engineering.