Guided architecture tour · 6–8 min
Keep each customer’s updates in order — SQS and FIFO queues
Plan ordered message processing without making every customer wait in one line.
This tour teaches architecture decisions. Its services are not provisioned in the emulator.
Your goal
Plan ordered message processing without making every customer wait in one line.
Why this matters
An account update must happen before its follow-up. You will choose message groups, reduce duplicate sends, and make the worker safe when an attempt is repeated.
Words you will use
FIFO means first in, first out. A message group is an ordered lane. A deduplication ID helps identify repeated sends within the queue’s deduplication window.
How to proceed
Read each situation and choose an answer. The lesson explains the result. Try again if needed, then continue through all three decisions and finish the tour.
1. Choose useful lanes
Updates for one account must stay ordered, but unrelated accounts can be processed independently. Choose the grouping rule.
What makes a useful message group ID?
The account ID for related updates.
A FIFO queue preserves order within a message group. Group related work together while allowing independent groups where appropriate. One global group can unnecessarily limit parallel processing.
Each account has an ordered lane.
Account ID → message group → ordered updates2. Recognize repeated sends
A producer is unsure whether its send succeeded and tries again. It should identify that retry as the same logical message.
What should the producer use?
A consistent deduplication ID for the same logical send.
A stable deduplication ID helps the FIFO queue recognize duplicate sends within its deduplication window. Understand that window and keep business operation IDs stable beyond the queue’s send behavior.
Retries of the same send can be recognized.
Same logical send → same deduplication identity3. Protect the real operation
A worker updates a record but crashes before deleting its queue message. That message can be processed again after its visibility period.
What must the worker still do?
Make the business operation safe to repeat.
Ordered delivery and send deduplication do not make every downstream side effect exactly once. Track a durable operation ID or use suitable conditional updates so another attempt can reuse the prior result.
The ordered workflow also handles repeated processing safely.
Operation ID → prior-result check → safe completionPractice, then check your understanding
In the interactive tour, make each decision before seeing the outcome. Wrong answers receive coaching, and replay gives you a fresh attempt without duplicating earned XP.
Read the official AWS documentation for service behavior and production details.