Fully managed message queuing service for decoupling distributed components.

Key facts

Exam triggers

  • "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

In production

what the exam skips

  • At-least-once means idempotency isn't optional — every handler needs a dedupe key and a store to check it against
  • Visibility timeout shorter than processing time is a silent double-execution bug that only appears under load
  • With Lambda, one bad message retries the whole batch unless partial batch response is enabled
  • Nobody monitors the DLQ — alarm on its visible message count or find 40k dead messages during an unrelated incident
  • 256 KB is smaller than it sounds — payloads need the S3 pointer pattern

Commonly confused with

Practice questions

Verification pending — not yet checked against AWS documentation.