22. Message Queues
1
The picture to keep in your head2
22.1 What are producers and consumers?3
22.2 Why go async?4
22.3 What are the delivery guarantees?5
22.4 How do acks and visibility timeouts work?6
22.5 What are retries and dead-letter queues?7
22.6 What is an idempotent consumer?8
22.7 How does ordering work?9
22.8 What is backpressure?10
22.9 How do you scale consumers?11
22.10 Log (Kafka) vs queue (RabbitMQ, SQS): what's the difference?12
22.11 How do delayed and scheduled jobs work?13
Memory card and where the analogy breaks14
Practice: five levels15
Interview questions16
Solutions17
Sources18
Code lab22. Message Queues
Sources
3 min read+10 XP
Source notes
- Amazon SQS: visibility timeout default 30 seconds, maximum 12 hours; message retention default 4 days, maximum 14 days; delivery delay up to 15 minutes; standard queues at-least-once with best-effort ordering; FIFO queues with a 5-minute deduplication interval and message group IDs; dead-letter queues via redrive policy. Amazon SQS Developer Guide, checked 2026-10-08.
- Apache Kafka: partitions, per-partition ordering, consumer groups, offsets, default log retention of 168 hours (7 days), idempotent producers and transactions. Apache Kafka documentation.
- RabbitMQ: consumer acknowledgements, prefetch, requeueing and dead-letter exchanges. RabbitMQ documentation.
- Little's law (L = λW): John D. C. Little, "A Proof for the Queuing Formula: L = λW", Operations Research, 1961.
- Order rates, processing times, gateway limits and worker counts are illustrative assumptions; arithmetic computed 2026-10-08.
- Level 3 and Level 4 code: tested 2026-10-08 (
code/ch22_queues.py, all checks pass).