System design · Mechanisms — replication, queues, limits, and placement

Queues, backpressure, and what you are willing to drop

A queue does not make a slow system fast; it changes what happens when the system is too slow. This derives the arithmetic of a growing queue, the difference between a buffer and a backlog, exactly-once as a fiction you replace with idempotency, and why every queue design is really a policy about dropping work.

25 min read Full lesson in the app Patterns: backpressure, idempotency-key, dead-letter-queue

What you'll be able to do

Before this: back-of-the-envelope

The rest of this lesson is in the app

A queue does not make a slow system fast; it changes what happens when the system is too slow. This derives the arithmetic of a growing queue, the difference between a buffer and a backlog, exactly-once as a fiction you replace with idempotency, and why every queue design is really a policy about dropping work. This walkthrough runs about 25 minutes, with runnable code you can edit and re-run as you read.

Continue in ChannelPulse

The first module of every track is free to read on the web — see what's open in System design.