Amazon SQS
Fully managed message queuing service for decoupling distributed components.
Verified against AWS documentation · 2026-08-24
Key facts
- 01Producers write, consumers poll and delete — neither side needs the other online
- 02Standard: near-unlimited throughput, at-least-once, best-effort ordering
- 03FIFO: strict ordering, exactly-once processing, lower throughput
- 04Limits: 256 KB max message size, 14-day max retention, 20s long polling
Exam triggers
Phrases and scenarios that point here.
- "Decouple", "buffer", "smooth out traffic spikes", "process asynchronously"
- Work must not be lost when a component fails → SQS + DLQ
- Order matters / no duplicates → FIFO, not Standard
- Consumers overwhelmed by bursty producers → SQS between them
Not this service
- One message to many subscribers → SNS
- Replay or multiple independent readers → Kinesis Data Streams
Use cases
- 01Decoupling microservices so a slow or failed downstream component doesn't take the upstream one down with it
- 02Buffering work for background/batch jobs — image processing, report generation, order fulfillment — picked up by workers or Lambda
- 03Fan-out work queues, where a pool of worker instances pulls from one queue to parallelize processing
- 04Smoothing bursty producers (flash-sale order spikes, IoT telemetry) so downstream capacity is never overwhelmed
- 05FIFO for workflows where order and no-duplicate-processing are correctness requirements, not nice-to-haves
How it's charged
- 01Priced per request, not per message — each API call (batched up to 64 KB) counts as one request, so batching cuts cost
- 02Standard and FIFO are billed on separate rate tiers; FIFO costs more per request
- 03No charge for queue creation, idle queues, or storing messages within the retention window
- 04Data transfer out to the internet is billed separately; transfer to other AWS services in the same Region is free
- 05Long polling doesn't add cost itself, but it cuts the empty-receive requests you'd otherwise pay for under short polling