AWS Certified Solutions Architect Associate SAA-C03 Practice Question
An online retail application is being developed to handle erratic and potentially high numbers of incoming orders. Each order must be processed, but immediate processing is not required. Which approach would ensure the application remains scalable while maintaining loose coupling between the order reception and processing components?
Insertion of order details into an Amazon DynamoDB table, triggering an AWS Lambda function to process the order.
Placement of orders into an Amazon Simple Queue Service (Amazon SQS) queue that allows deferred processing by a dedicated order-management component.
Logging of each transaction to an Amazon Kinesis stream, with continuous processing by an auto-scaling group of virtual servers.
Immediate processing of orders through synchronous execution within the same service that captures the customer transactions.
Amazon Simple Queue Service (Amazon SQS) acts as a durable buffer that can absorb sudden traffic spikes. The order-receiving tier simply enqueues each order, and one or more consumer processes pull messages off the queue at their own pace. This asynchronous, queue-based pattern eliminates direct dependencies between the front-end and the processing tier, preventing overload during bursts. In contrast, synchronous processing or direct invocation (answers A, C, and D) re-introduce tight coupling or unnecessary complexity for a simple 'fire-and-forget' workload.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon Simple Queue Service (Amazon SQS)?
Open an interactive chat with Bash
What does it mean for components to be loosely coupled?
Open an interactive chat with Bash
Why is immediate processing through synchronous execution not suitable for this application?