A shipping company is designing a system to process telemetry reports from IoT sensors installed on cargo containers. The sensors publish reports containing temperature, humidity, and location data. The processing application must handle messages asynchronously. To prevent data corruption, reports for each individual cargo container must be processed in the exact order they are received. Reports that fail to process after 5 attempts must be quarantined for investigation. Which TWO options should the solutions architect implement to meet these requirements? (Select TWO.)
- Create an Amazon SQS FIFO queue to buffer the reports, using the cargo container ID as the message group ID to preserve order.Cevap
- Configure an Amazon SQS FIFO dead-letter queue (DLQ) to capture messages that fail to process after multiple retries.Cevap
- CUse an Amazon SQS Standard queue to buffer the reports to ensure high throughput while preserving chronological order.
- DConfigure an Amazon S3 Glacier vault to act as the dead-letter queue to store failed reports for immediate, low-latency analysis.
- EDirect the telemetry reports to an AWS Lambda function running continuously as a daemon to handle long-running container session logic.
Cevap
The solutions architect should create an Amazon SQS FIFO queue, using the cargo container ID as the message group ID to preserve order, and configure an Amazon SQS FIFO dead-letter queue (DLQ) to capture failed messages.
To ensure reports for each cargo container are processed in the exact order they are received, an Amazon SQS FIFO queue is required. Using the container ID as the message group ID ensures that messages within the same container group are processed sequentially, while allowing parallel processing across different containers. Additionally, configure an Amazon SQS FIFO dead-letter queue (DLQ) to handle processing failures. A FIFO queue requires a FIFO DLQ to maintain order and receive quarantined messages after the specified retry limit is reached.
Adım Adım Çözüm
Anahtar Kavram
Decoupling message processing while maintaining message ordering using SQS FIFO queues and handling failures using Dead-Letter Queues (DLQs).