A logistics company is designing an event-driven delivery tracking system. Status updates for each delivery package must be processed in the exact chronological order in which they are generated by drivers. The updates need to be delivered to two separate systems: an analytics dashboard that requires strict ordering of events per package, and an audit service that does not require ordered processing. The solution must scale to handle traffic spikes during peak hours without losing any updates.
Which combination of actions should a solutions architect take to meet these requirements? (Select TWO.)
- Create an Amazon SNS FIFO topic to receive the updates, and subscribe an Amazon SQS FIFO queue to the topic for the analytics dashboard.Answer
- Subscribe an Amazon SQS Standard queue to the Amazon SNS FIFO topic for the audit service.Answer
- CCreate an Amazon SNS Standard topic to receive the updates, and subscribe Amazon SQS FIFO queues to the topic for both the analytics dashboard and the audit service.
- DCreate an Amazon SQS Standard queue to receive the updates, and configure both the analytics dashboard and the audit service to consume messages from the same queue.
Answer
Create an Amazon SNS FIFO topic and subscribe an Amazon SQS FIFO queue to it for the ordered analytics dashboard, and subscribe an Amazon SQS Standard queue to the same SNS FIFO topic for the unordered audit service.
To preserve message ordering during a fan-out pattern, an Amazon SNS FIFO topic must be used. SQS FIFO queues can be subscribed to the SNS FIFO topic to receive messages in chronological order, satisfying the requirements of the analytics dashboard. SQS Standard queues can also be subscribed to the same SNS FIFO topic, which satisfies the audit service's requirement since it does not need ordered processing.
Step-by-Step Solution
Key Concept
FIFO Fan-out using SNS FIFO and SQS FIFO/Standard