Information Technology Reference
In-Depth Information
Applications using SQS can run independently and asynchronously and
do not need to be developed with the same technologies. A received mes-
sage is locked during processing; if processing fails, the lock expires and the
message is available again. The time-out for locking can be changed dynami-
cally via the ChangeMessageVisibility operation. Developers can access SQS
through standards-based SOAP and query interfaces. Queues can be shared
with other AWS accounts and anonymously; queue sharing can also be
restricted by IP address and time of day.
The SQS interface provides the following services that are not usually
started by a user by entering a command but by corresponding Web Service
calls issued by the associated components:
CreateQueue creates a queue in the AWS user context.
ListQueues lists the existing queues.
DeleteQueue deletes a queue.
SendMessage places a message in a queue.
• ReceiveMessage reads one (or more) message(s) from a queue.
ChangeMessageVisibility explicitly sets the visibility of a read message
for other potential readers.
DeleteMessage deletes a read message.
SetQueueAttributes sets queue attributes, for example, the interval
between two read operations of the same message.
GetQueueAttributes reads queue attributes, for example, the number
of messages currently in the queue.
AddPermission enables shared access to a queue from multiple user
contexts.
RemovePermission disables the shared access by other user contexts.
The SQS message queue has special importance within the range of AWS
cloud offerings because it can be used effectively to scale applications.
A sender (publisher) can place messages in a queue, which can then be read
out and processed by a registered recipient. To dissociate different compo-
nents in an application, a service-consuming component can place its jobs
as requests in the queue from where they are fetched by service-providing
components. Skillful programming allows to operate critical components
simultaneously on multiple EC2 instances using the path thus defined. This
way, bottlenecks existing with certain components can be eliminated flex-
ibly at runtime, and the system's overall performance is no longer limited by
the bottleneck. The example in Section 4.1.7 illustrates the resulting system
architecture.
Search WWH ::




Custom Search