A financial technology company is designing a ledger application that processes account transaction logs. When an account transaction occurs, the details must be sent to two separate downstream systems: a ledger auditing service and an account balance update service. Both downstream systems must process the transaction events in the exact chronological order in which they were generated for each account to ensure ledger accuracy. The architecture must be decoupled and resilient to temporary downstream service outages. Which combination of steps should a solutions architect recommend to meet these requirements? (Select TWO.)
- Create an Amazon SNS FIFO topic to receive and distribute the transaction events.Answer
- Create two Amazon SQS FIFO queues and subscribe them to the SNS FIFO topic, with one queue dedicated to each downstream service.Answer
- CCreate a standard Amazon SNS topic and subscribe two standard Amazon SQS queues to it to distribute the transaction events.
- DCreate two standard Amazon SQS queues and configure the transaction generator to write to both queues simultaneously using parallel client-side threads.
- EConfigure both downstream services to pull events from a single shared Amazon SQS FIFO queue.
Answer
Creating an Amazon SNS FIFO topic to receive the events and subscribing two Amazon SQS FIFO queues to the topic (one for each downstream service) provides a decoupled, resilient, and ordered event distribution system.
To achieve both event fan-out (sending the same transaction to multiple services) and chronological ordering, the architecture must use Amazon SNS FIFO paired with Amazon SQS FIFO. An SNS FIFO topic preserves the ordering of messages and can fan them out to multiple SQS FIFO queues. Each downstream service must have its own dedicated SQS FIFO queue to ensure both services receive every transaction message independently without competing. The SQS queues also buffer messages, decoupling the producer from the consumers and ensuring resilience during downstream service outages.
Step-by-Step Solution
Key Concept
Fanning out ordered messages to multiple downstream systems using Amazon SNS FIFO and Amazon SQS FIFO queues.