Question #1986
A solutions architect is designing a payment processing system that requires handling transactions securely. The architecture includes a frontend tier and a processing tier. The system must process each transaction exactly once and ensure no data is lost. Which solution meets these requirements?
Use an Amazon Simple Queue Service (Amazon SQS) FIFO queue between the frontend tier and the processing tier to store and forward transaction data.
Use an Amazon API Gateway REST API between the frontend tier and the processing tier to store and forward transaction data.
Use an Amazon Simple Queue Service (Amazon SQS) standard queue between the frontend tier and the processing tier to store and forward transaction data.
Use Amazon Kinesis Data Streams between the frontend tier and the processing tier to store and forward transaction data.
Explanation
Answer A is correct because Amazon SQS FIFO queues provide exactly-once processing, message ordering, and deduplication, which are critical for payment transactions. They ensure no data loss by retaining messages until processed.
Option B (API Gateway) is incorrect as it does not store data; it is designed for API management, not message queuing. Option C (SQS Standard Queue) allows duplicate messages (at-least-once delivery), violating the exactly-once requirement. Option D (Kinesis Data Streams) supports high-throughput streaming but does not guarantee exactly-once processing natively, requiring additional application logic. Key points: FIFO queues guarantee exactly-once and ordered processing, making them ideal for transactional systems.
Answer
The correct answer is: A