outline
This chapter is an outline. The curriculum, learning objectives and
structure are settled; the prose, diagrams and code are still being written.
What is below is the plan for the chapter, not the chapter.
Glossary
Every term is defined once, in its owning module, and linked from everywhere else. This page is
the index of those definitions.
Definition format (from _reference/chapter-template.md):
Term — Simple: one sentence a beginner understands. Technical: the precise behaviour.
Example: a concrete instance.
Core vocabulary
AWS and SQS identifiers
API actions
| Term | Defined in |
|---|
SendMessage / SendMessageBatch | 04, 13 |
ReceiveMessage | 04 |
DeleteMessage / DeleteMessageBatch | 04, 13 |
ChangeMessageVisibility | 08 |
GetQueueAttributes | 04 |
StartMessageMoveTask (DLQ redrive) | 11 |
PurgeQueue | 26 |
Queue mechanics
| Term | Defined in |
|---|
| Distributed storage | 03 — How SQS Actually Works |
| Approximate metrics | 03 |
| Competing consumers | 03, 14 |
| Available / In-flight / Delayed message | 05 — The Message Lifecycle |
| Message retention period | 05 |
DelaySeconds / message timer | 05 |
| Visibility timeout | 08 |
| Heartbeat extension | 08 |
| Standard queue | 06 |
| Best-effort ordering | 06 |
| Duplicate delivery | 06 |
| Fair queues | 06 |
| FIFO queue | 07 |
MessageGroupId | 07 |
MessageDeduplicationId | 07 |
| Content-based deduplication | 07 |
| Deduplication interval | 07 |
| Head-of-line blocking | 07 |
| Partition (FIFO) | 07 |
| High throughput mode | 07 |
Delivery, retry and failure
| Term | Defined in |
|---|
| At-most-once / at-least-once / exactly-once | 09 — Delivery Semantics |
| Idempotency / idempotency key | 09 |
| Transaction boundary | 09 |
| Transient vs permanent error | 10 — Retries |
| Poison message | 10 |
| Exponential backoff | 10 |
| Jitter | 10 |
| Retry storm | 10 |
| Circuit breaker | 10 |
| Dead-letter queue (DLQ) | 11 |
Redrive policy / maxReceiveCount | 11 |
| Redrive allow policy | 11 |
Efficiency and scale
| Term | Defined in |
|---|
| Short polling | 12 — Long Polling |
Long polling / WaitTimeSeconds | 12 |
NumberOfEmptyReceives | 12, 17 |
| Batch | 13 |
MaxNumberOfMessages | 13 |
| Partial batch failure | 13, 19 |
| Worker / worker pool | 13, 14 |
| Backlog per instance | 14 |
| Target tracking | 14 |
| Graceful shutdown | 14, 22 |
| Little's Law | 15 |
| Arrival rate / service rate | 15 |
| Queue depth / drain time | 15 |
| Utilisation / cycle time | 15 |
Security
| Term | Defined in |
|---|
| Identity-based policy | 16 — Security |
| Resource-based policy / queue policy | 16 |
| SSE-SQS / SSE-KMS | 16 |
| Confused deputy | 16 |
| VPC endpoint / PrivateLink | 16 |
Monitoring
| Term | Defined in |
|---|
ApproximateNumberOfMessagesVisible | 06, 17 |
ApproximateNumberOfMessagesNotVisible | 06, 17 |
ApproximateAgeOfOldestMessage | 17 |
| Correlation ID | 17 |
| Structured logging | 17 |
| Composite alarm | 17 |
| Redelivery rate | 17 |
| Metric signature | 26 |
Integrations
| Term | Defined in |
|---|
| Lambda event source mapping (ESM) | 19 |
ReportBatchItemFailures | 19 |
MaximumBatchingWindowInSeconds | 19 |
| Provisioned mode | 19 |
| SNS / topic / subscription | 20 |
| Fanout | 20 |
| Filter policy | 20 |
| Raw message delivery | 20 |
| S3 event notification | 21 |
| EventBridge rule / event pattern | 21 |
waitForTaskToken | 21 |
| KEDA | 22 |
| IRSA | 22 |
Spring Cloud AWS / @SqsListener / SqsTemplate | 23 |
| Acknowledgement mode | 23 |
Architecture and distributed systems
| Term | Defined in |
|---|
| Eventual consistency | 24 |
| Dual-write problem | 24 |
| Outbox pattern | 24 |
| Saga / compensating transaction | 24 |
| CQRS | 24 |
| Bulkhead | 24 |
| Fault isolation / graceful degradation | 24 |
| Event vs command | 24 |
| Claim-check pattern | 25 |
| Priority lanes | 25 |
| Staged pipeline | 25 |
| RPO / RTO | 25 |
| Topic / partition / offset / consumer group (Kafka) | 27 |
| Exchange / binding / prefetch / DLX (RabbitMQ) | 27 |
| Destructive consumption | 27 |
← Index: Course home