10 months ago


Amazon Simple Queue

Amazon Simple Queue Service Developer Guide Amazon SQS Features If your system requires that order be preserved, you can place sequencing information in each message, so that you can reorder the messages when the queue returns them. Be sure to read about distributed queues, which will help you understand how to design an application that works correctly with Amazon SQS. For more information, see Properties of Distributed Queues (p. 5). Amazon SQS Features Amazon SQS provides the following major features: • Redundant infrastructure—Guarantees delivery of your messages at least once, highly concurrent access to messages, and high availability for sending and retrieving messages • Multiple writers and readers—Multiple parts of your system can send or receive messages at the same time SQS locks the message during processing, keeping other parts of your system from processing the message simultaneously. • Configurable settings per queue—All of your queues don't have to be exactly alike For example, one queue can be optimized for messages that require a longer processing time than others. • Variable message size—Your messages can be up to 8 KB in size For even larger messages, you can store the contents of the message using the Amazon Simple Storage Service (Amazon S3) or Amazon SimpleDB and use Amazon SQS to hold a pointer to the Amazon S3 or Amazon SDB object. Alternately, you can split the larger message into smaller ones. For more information about the services, go to the Amazon S3 detail page and the Amazon SimpleDB detail page. • Unlimited queues and messages—You can have as many queues and messages in the Amazon SQS system as you want • Access control—You can control who can send messages to a queue, and who can receive messages from a queue Architectural Overview There are three main actors in the overall system: • The components of your distributed system • Queues • Messages in the queues In the following diagram, your system has several components that send messages to the queue and receive messages from the queue. The diagram shows that a single queue, which has its messages (labeled A-E), is redundantly saved across multiple SQS servers. API Version 2009-02-01 3

Amazon Simple Queue Service Developer Guide How SQS Queues Work How SQS Queues Work Topics • About SQS Queues (p. 4) • Properties of Distributed Queues (p. 5) • Queue and Message Identifiers (p. 6) • Resources Required to Process Messages (p. 7) • Visibility Timeout (p. 8) • Message Lifecycle (p. 9) This section describes the basic properties of Amazon SQS queues, identifiers for queues and messages, how you determine the general size of the queue, and how you manage the messages in a queue. About SQS Queues You can have as many queues with as many messages as you like in the Amazon SQS system. A queue can be empty if you haven't sent any messages to it or if you have deleted all the messages from it. You assign a name to each of your queues (for more information, see Queue URLs (p. 6)). You can get a list of all your queues or a subset of your queues that share the same initial characters in their names (for example, you could get a list of all your queues whose names start with "T3"). You can delete a queue at any time, whether it is empty or not. Be aware, however, that queues retain messages for a set period of time. By default, a queue retains messages for four days. However, you can configure a queue to retain messages for up to 14 days after the message has been sent. We reserve the right to delete a queue without notification if one of the following actions hasn't been performed on it for 30 consecutive days: SendMessage, ReceiveMessage, DeleteMessage, GetQueueAttributes, SetQueueAttributes, AddPermission, and RemovePermission. Important It is a violation of the intended use of Amazon SQS if you repeatedly create queues and then leave them inactive. API Version 2009-02-01 4