SQS FIFO vs Standard Queues: Ordering, Dedup, and Throughput
5 min read · Updated 2026-10-28
SQS standard and FIFO queues differ on exactly three axes — and the exam hammers all three: message ordering, delivery guarantee, and throughput ceiling.
Standard: throughput over order
- Nearly unlimited TPS — scales automatically with demand
- At-least-once delivery — duplicates WILL happen; consumers must be idempotent
- Best-effort ordering — messages usually arrive in order, not guaranteed
- Cheaper per request and the right default for most decoupling
FIFO: correctness over speed
The subtlety: FIFO ordering is per message GROUP, not queue-wide. Multiple group IDs give you ordered lanes with parallel throughput — high-cardinality group IDs preserve ordering AND scale.
- Exactly-once processing via deduplication (content-based or MessageDeduplicationId)
- Strict ordering within a message group (MessageGroupId) — order across groups is parallel
- Throughput: ~300 msg/s without batching, ~3,000 msg/s with batching — the hard ceiling that decides most questions
- Higher per-request cost than standard
Decision shortcuts
Common trap: choosing FIFO 'to be safe' when ordering isn't required — you pay more and cap throughput for a guarantee nobody needs.
- 'Process payments/events exactly once in order' → FIFO
- 'Decouple microservices, duplicates are handled idempotently' → Standard
- 'Need >3,000 msg/s sustained' → Standard (or shard FIFO by group ID)
- 'Order matters per customer/session, but many independent customers' → FIFO with per-entity group IDs
- 'Just need a buffer between producer and consumer' → Standard