A company has two applications: a sender that sends messages with payloads to be processed, and a processing application that receives and processes those payloads. The sender sends about 1,000 messages per hour. Messages may take up to 2 days to process; failed messages must be retained so they do not block processing of other messages. Which solution meets these requirements and is the MOST operationally efficient?
Choose an answer
Tap an option to check your answer.
Correct answer: Integrate the sender and processor applications with an Amazon Simple Queue Service (Amazon SQS) queue. Configure a dead-letter queue to collect messages that fail to process..
Why this is the answer
Using Amazon SQS with a dead-letter queue (DLQ) is the most operationally efficient solution. SQS is a fully managed message queuing service, eliminating the need to manage servers. It decouples the sender and processor, allowing messages to be processed asynchronously. The 2-day processing time is well within SQS's default message retention period (up to 14 days). A DLQ automatically collects failed messages, preventing them from blocking the main queue and allowing for later analysis or reprocessing without manual intervention. An EC2 instance with Redis requires server management and scaling, increasing operational overhead. Kinesis Data Streams are designed for real-time data processing and might be overkill for 1,000 messages per hour, also requiring more complex client-side logic with KCL. SNS is a publish/subscribe service primarily for fan-out messaging, not for retaining messages for long-term processing or handling failed messages in a queueing pattern.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed