A financial company is building a transaction ledger application where users deposit and withdraw funds. The application must process these transaction events in the exact order they occur to prevent incorrect balances. Additionally, a compliance service and an auditing service must both receive a copy of every transaction event in near-real-time. If a transaction fails to process after five attempts, it must be moved to a separate queue for analysis without blocking subsequent transactions.
Which combination of steps should a solutions architect take to meet these requirements with the least operational overhead? (Select TWO.)
- Create an Amazon SNS FIFO topic to receive the transaction events, and subscribe two Amazon SQS FIFO queues to the topic to fan out the events to both the compliance and auditing services.Cevap
- Configure a redrive policy on each Amazon SQS FIFO queue to send failed transaction events to an Amazon SQS FIFO dead-letter queue (DLQ).Cevap
- CCreate an Amazon SNS standard topic to receive the transaction events, and subscribe two Amazon SQS standard queues to fan out the events to both services.
- DConfigure a redrive policy on the Amazon SQS queues to route failed transaction events to an Amazon SQS standard dead-letter queue (DLQ).
- ECreate a single Amazon SQS standard queue and use Message Group IDs to segregate the events for the compliance and auditing services while maintaining ordering.
Cevap
Create an Amazon SNS FIFO topic to receive the transaction events, subscribe two Amazon SQS FIFO queues to the topic, and configure a redrive policy on each SQS FIFO queue to send failed events to an SQS FIFO dead-letter queue (DLQ).
To process transaction events in strict chronological order and distribute them to multiple independent services, you must use Amazon SNS FIFO combined with Amazon SQS FIFO. SNS FIFO distributes messages in a first-in, first-out order to multiple subscribed SQS FIFO queues. Additionally, to handle processing failures without stalling the entire queue (head-of-line blocking), a redrive policy must be configured on the SQS FIFO queues to send failed messages to an SQS FIFO dead-letter queue (DLQ). This combination ensures both strict ordering and resilient decoupling.
Adım Adım Çözüm
Anahtar Kavram
Decoupling event-driven architectures with ordering guarantees using SNS FIFO, SQS FIFO, and FIFO Dead-Letter Queues.