SAA-C03 · Question #607
A company uses GPS trackers to document the migration patterns of thousands of sea turtles. The trackers check every 5 minutes to see if a turtle has moved more than 100 yards (91.4 meters). If a turt
The correct answer is C. Create an Amazon Simple Queue Service (Amazon SQS) queue to store the incoming data.. To prevent data loss and overwhelming the web application from high volumes of tracker data with least operational overhead, a solutions architect should use an Amazon SQS queue to decouple the data producers from consumers.
Question
A company uses GPS trackers to document the migration patterns of thousands of sea turtles. The trackers check every 5 minutes to see if a turtle has moved more than 100 yards (91.4 meters). If a turtle has moved, its tracker sends the new coordinates to a web application running on three Amazon EC2 instances that are in multiple Availability Zones in one AWS Region. Recently, the web application was overwhelmed while processing an unexpected volume of tracker data. Data was lost with no way to replay the events. A solutions architect must prevent this problem from happening again and needs a solution with the least operational overhead. What should the solutions architect do to meet these requirements?
Options
- ACreate an Amazon S3 bucket to store the data. Configure the application to scan for new data in
- BCreate an Amazon API Gateway endpoint to handle transmitted location coordinates. Use an
- CCreate an Amazon Simple Queue Service (Amazon SQS) queue to store the incoming data.
- DCreate an Amazon DynamoDB table to store transmitted location coordinates. Configure the
How the community answered
(34 responses)- A6% (2)
- B15% (5)
- C76% (26)
- D3% (1)
Why each option
To prevent data loss and overwhelming the web application from high volumes of tracker data with least operational overhead, a solutions architect should use an Amazon SQS queue to decouple the data producers from consumers.
Amazon S3 is object storage, not a message queue, and would require complex custom logic for polling and managing message processing, increasing operational overhead and not directly solving the 'overwhelmed' problem for the processing application.
While API Gateway handles ingress and Kinesis Data Streams handles high-throughput streaming, SQS is a simpler and often more cost-effective solution for decoupling and buffering messages when strict real-time streaming capabilities or complex ordering are not explicitly required, offering lower operational overhead for this scenario.
An Amazon SQS queue provides a fully managed message queuing service that decouples the fast-producing data source from the slower-processing web application instances, reliably buffering messages during unexpected volume spikes, preventing data loss, and allowing consumers to process messages at their own pace.
Amazon DynamoDB is a NoSQL database for storing data, not a message queue for decoupling producers and consumers; storing data there would not inherently prevent the processing application from being overwhelmed or provide a buffering mechanism.
Concept tested: Decoupling microservices with message queues, handling variable load, preventing data loss
Source: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-what-is-sqs.html
Community Discussion
No community discussion yet for this question.