SAA-C03 Question 141
Select 2A company is implementing a distributed order processing system that requires decoupling between the order submission service and the order fulfillment service. They want to ensure that order messages are delivered reliably and are processed only once. Additionally, the system should be capable of scaling to handle variable loads. Which AWS service combination should be used to meet these requirements?
- A
Amazon SQS with FIFO queues
- B
Amazon SNS with standard topics
- C
Amazon SQS with standard queues
- D
Amazon SNS with FIFO topics
- E
Amazon SNS with SQS FIFO queue subscriptions
Show answer and explanation
Correct answers: A, E
Explanation
The combination of Amazon SQS with FIFO queues and Amazon SNS with SQS FIFO queue subscriptions satisfies the requirement for decoupling, reliable message delivery, exactly-once processing, and scaling. Amazon SQS FIFO queues handle order preservation and message deduplication, while Amazon SNS enables the publish/subscribe functionality to scale the system by distributing messages to multiple subscribers.
- A. Correct.
Amazon SQS with FIFO queues ensures reliable message delivery and guarantees exactly-once processing. It is suitable for the decoupling requirement where processing order and message duplication control are critical.
- B. Incorrect.
Amazon SNS with standard topics does not guarantee message order or exactly-once delivery, so it does not meet the requirements for reliability and single processing.
- C. Incorrect.
Amazon SQS with standard queues provides high throughput but does not guarantee exactly-once processing, which is a key requirement in this scenario.
- D. Incorrect.
Amazon SNS with FIFO topics is not a valid option because Amazon SNS does not currently support FIFO topics (as of October 2023).
- E. Correct.
Amazon SNS with SQS FIFO queue subscriptions combines the benefits of SNS for publish/subscribe messaging and SQS FIFO queues for reliable message delivery and exactly-once processing, making it a suitable solution for this scenario.