Ch. 19 · System Design

System Design Queues and Backlog Management

System Design Queues and Backlog Management. Learn the reasoning, a practical example, common mistakes and an interview exercise.

~2 min readintermediateupdated Oct 3, 2026

Queues buffer work and decouple request timing, but backlog needs ownership, limits and failure handling. Buffering cannot create processing capacity.

Before you start

You should understand API requests, storage and basic capacity estimates. Begin with a concrete user action and its correctness requirement. Draw data flow and failure boundaries before selecting infrastructure; a technology name by itself does not explain why a design meets the requirement.

The practical goal is to reason through this situation: An export queue accepts work faster than workers temporarily process it. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.

Step-by-step walkthrough

Step 1: Record accepted work

Provide stable operation identity and observable status.

Step 2: Bound accumulated demand

Depth and age reveal overload differently.

Step 3: Define failure and cancellation

Retries, dead-letter handling and abandonment need owners.

Worked scenario

An export queue accepts work faster than workers temporarily process it.

An export queue accepts requests at twice the workers’ sustained completion rate. It delays failure rather than creating capacity. A bounded acceptance policy can reject or defer work, while status exposes pending age and outcome. A user cancelling an export also needs a policy for work already running.

Common mistake

An unbounded queue can turn overload into very late failures.

Verify the behavior

Measure backlog age, drain time and logical effects under retry and cancellation.

Interview exercise

Make queued work observable.

Answer and reasoning

Return operation status, monitor age and depth, set capacity policy and define cancellation and retry outcomes.

Continue learning

Compare the scenario with the System Design interview questions and test your understanding with the System Design MCQs. For terminology and implementation details, consult the reference material.

More in System Design

read ✓System Design · hard

System Design: Bloom Filters

Use a Bloom filter to skip lookups with a tiny memory footprint, and understand its false-positive-only guarantee.

~2 min readread →
read ✓System Design · hard

System Design: Idempotent APIs

Make retried requests safe with idempotency keys, store the result per key, and return the original response on a repeat.

~2 min readread →
esc