A logistics company is designing an application to process real-time status updates for package deliveries. The updates must be processed in the exact order they are generated for each package to ensure accurate tracking. If a status update fails to process, it must be isolated for analysis without interrupting the processing of subsequent updates for other packages. Which combination of steps will meet these requirements with the least operational overhead? (Select TWO.)
- Create an Amazon SQS FIFO queue to store the delivery status updates.Answer
- Configure an Amazon SQS FIFO dead-letter queue (DLQ) to receive messages that fail to process successfully.Answer
- CCreate a standard Amazon SQS queue to buffer the delivery status updates.
- DConfigure an Amazon Simple Notification Service (Amazon SNS) standard topic to fan out updates to standard SQS queues.
- EConfigure a standard Amazon SQS queue as a dead-letter queue (DLQ) for the primary SQS FIFO queue.
Answer
Create an Amazon SQS FIFO queue to store the delivery status updates, and configure an Amazon SQS FIFO dead-letter queue (DLQ) to receive messages that fail to process successfully.
To process package updates in the exact order they are generated, the architecture must use Amazon SQS FIFO queues. SQS FIFO queues guarantee first-in, first-out delivery within a message group. Additionally, isolating failed messages without blocking the queue is achieved by using a dead-letter queue (DLQ). Because the primary queue is a FIFO queue, the associated DLQ must also be a FIFO queue.
Step-by-Step Solution
Key Concept
Decoupling event-driven architectures with Amazon SQS FIFO queues and FIFO dead-letter queues to guarantee order and handle processing failures.