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?
Broadcasting each order to various services using Amazon Simple Notification Service (SNS) for simultaneous processing.
Distribution of incoming orders via an Elastic Load Balancer (ELB) to an auto-scaled group of processing microservices.
Insertion of order details into an Amazon DynamoDB table, triggering an AWS Lambda function to process the order.
Immediate processing of orders through synchronous execution within the same service that captures the customer transactions.
Logging of each transaction to an Amazon Kinesis stream, with continuous processing by an auto-scaling group of virtual servers.
Placement of orders into an Amazon Simple Queue Service (Amazon SQS) queue that allows deferred processing by a dedicated order management component.
By leveraging Amazon Simple Queue Service (Amazon SQS), the application can enqueue incoming orders, allowing the processing component to consume messages at a regulated pace. This introduces a layer that decouples the order intake from processing, thereby enhancing scalability as the message queue can absorb sudden bursts of traffic. Immediate execution through synchronous invocation leads to tight coupling and possible system overload during peak times. Other solutions, like streams or database triggers, do not offer the same level of decoupling and might introduce complexity that is unnecessary for this use case.
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?