Your company plans to host a large donation website on Amazon Web Services (AWS). You anticipate a large
and undetermined amount of traffic that will create many database writes. To be certain that you do not drop
any writes to a database hosted on AWS.
Which service should you use?
Amazon RDS with provisioned IOPS up to the anticipated peak write throughput.
Amazon Simple Queue Service (SQS) for capturing the writes and draining the queue to write to the
Amazon ElastiCache to store the writes until the writes are committed to the database.
Amazon DynamoDB with provisioned write throughput up to the anticipated peak write throughput.
Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable hosted queue for storing
messages as they travel between computers. By using Amazon SQS, developers can simply move data
between distributed application components performing different tasks, without losing messages or requiring
each component to be always available. Amazon SQS makes it easy to build a distributed, decoupled
application, working in close conjunction with the Amazon Elastic Compute Cloud (Amazon EC2) and the other
AWS infrastructure web services.
What can I do with Amazon SQS?
Amazon SQS is a web service that gives you access to a message queue that can be used to store messageswhile waiting for a computer to process them. This allows you to quickly build message queuing applications
that can be run on any computer on the internet. Since Amazon SQS is highly scalable and you only pay for
what you use, you can start small and grow your application as you wish, with no compromise on performance
or reliability. This lets you focus on building sophisticated message-based applications, without worrying about
how the messages are stored and managed. You can use Amazon SQS with software applications in various
ways. For example, you can:
Integrate Amazon SQS with other AWS infrastructure web services to make applications more reliable and
Use Amazon SQS to create a queue of work where each message is a task that needs to be completed by a
process. One or many computers can read tasks from the queue and perform them.
Build a microservices architecture, using queues to connect your microservices.
Keep notifications of significant events in a business process in an Amazon SQS queue. Each event can have
a corresponding message in a queue, and applications that need to be aware of the event can read and
process the messages.