A company is migrating its order processing system to the AWS Cloud. The order processing system must use exact message ordering, a highly available architecture, and loosely coupled components.
Which solution will meet these requirements?
A.
Ingest the orders in an Amazon SQS standard queue. Use Amazon EC2 Spot Instances to process the orders.
B.
Push the orders to an Amazon SNS topic. Subscribe an AWS Lambda function to the SNS topic to process the orders.
C.
Push the orders to a stream in Amazon Kinesis Data Streams. Use Amazon EC2 Spot Instances to process the orders.
D.
Ingest the orders in an Amazon SQS FIFO queue. Invoke an AWS Lambda function to process the orders.
Amazon SQS FIFO queues are designed for workloads that require strict message ordering and exactly-once processing semantics. This makes FIFO the correct queue type for an order processing system that must preserve exact order. SQS also provides decoupling between producers and consumers, improving resilience because order ingestion does not depend on the processor being immediately available. AWS Lambda can poll SQS and process messages without managing servers, while the SQS queue buffers orders durably. A standard SQS queue does not guarantee exact ordering. SNS alone is a pub/sub service and does not provide the same ordered queue processing requirement. Kinesis can preserve ordering within shards, but using EC2 Spot Instances introduces interruption risk and unnecessary operational responsibility for this architecture.
Contribute your Thoughts:
Chosen Answer:
This is a voting comment (?). You can switch to a simple comment. It is better to Upvote an existing comment if you don't have anything to add.
Submit