IntermediateAmazon SQS
A FIFO queue meets Black Friday
Order updates use one message group. Traffic is about to grow ten times.
The setup today
Order status changes (paid, packed, shipped) go to a FIFO queue so each order's updates are applied in order. When the queue was built, every message was given the same group ID.
Current configuration
queue: order-updates.fifo
MessageGroupId: "orders" # same for every message
consumers: 10 batching: none
ContentBasedDeduplication: falseWhat you know
- Consumers spend most of their time idle, yet the backlog grows during peaks.
- Producers retry a send if they do not hear back within 2 seconds.
The new requirement
Black Friday traffic is expected to be ten times today's. Each order's updates must still be applied in order, and a retried send must not produce a duplicate update.
Make the call
2 questions · first-try answers earn the most XP
What a strong answer also covers
- Batch sends and receives (up to 10 per call): FIFO limits are per API call, so batching multiplies throughput.
- Enable high-throughput mode for FIFO and spread traffic across many message groups.
- Consumers must still be idempotent: deduplication covers retried sends for 5 minutes, not a message redelivered after a timeout.
- One stuck order now blocks only its own group, not everyone; give the queue a FIFO dead-letter queue.