In the SQS messaging infrastructure, a queue is a resource that accepts messages from a sender, stores the messages, and delivers them to authorized message receivers upon request. A queue can be used by multiple client systems that send and receive messages without these systems having to interact directly or recognize each other in any meaningful way. By communicating with messages sent through a shared queue, different systems can communicate with each other indirectly but reliably.
SQS account holders can create as many queues as they need; the service does not apply a limit to the number of queues allowed or to the number of messages that may be stored within a queue. Each queue is assigned a name by the queue’s creator. This name must be unique within an SQS account, but the same name can be used in different SQS accounts.
A queue is uniquely identified in SQS using a URL value referred to as the Queue URL. This URL is constructed from three components: the SQS server host name, a service-generated path component that ensures the queue’s URL is unique in SQS, and the name of the queue. For example, the URL for a queue called queue-name might look like this: http://queue.amazonaws.com/A1MU5FWLQSN7CU/queue-name.
Queues are configurable and can be customized for various purposes. A queue’s default visibility timeout can be changed to better control the life cycle of messages in the queue, as we discussed in The Message Life Cycle.” Access control settings can also be applied ...