Backpressure & Flow Control
Telling callers to slow down instead of buffering into congestion collapse.
4 to work through
-
advanced
A logistics platform ingests location updates from a large vehicle fleet every few seconds. The ingestion queue grows steadily even though workers are healthy. How do you determine the cause, and what are the possible fixes?
2 min answer -
advanced
A telemetry ingestion queue grows continuously even though every worker reports healthy and CPU is moderate. How do you distinguish between insufficient capacity, a slow downstream dependency, oversized messages, poison messages and an incorrect workload model?
2 min answer -
advanced
A worker's queue depth grows steadily through the day and never recovers. Adding workers helps for an hour, then it resumes. What is happening?
2 min answer -
advanced
An IoT ingestion pipeline is falling behind. The devices cannot be slowed down. What are your options?
2 min answer
5 terms in this topic
Backpressure in Practice
Signalling upstream to slow down so queues stay bounded, and what to do at boundaries where the producer cannot be slowed.
patternBounded Queue
A queue with a maximum depth, which converts unbounded latency growth into an explicit rejection you can control.
patternConflation
Discarding superseded updates so that a slow consumer receives the latest state rather than a backlog of stale ones - bounding work by entity count i…
protocolCredit-Based Flow Control
A scheme where a receiver grants the sender a budget of bytes or messages it may transmit, replenished as the receiver consumes.
protocolReactive Streams
A specification for asynchronous stream processing in which the consumer requests a specific number of items, making backpressure part of the protoco…
Neighbouring topics
Distributed Systems
General material on partial failure, coordination and distributed reasoning.
CAP & PACELC
What you must give up during a partition, and the latency choice the rest of the time.
Consistency Models
Linearizable, sequential, causal, eventual, and the session guarantees between them.
Idempotency
Making an operation safe to repeat, because a client that times out cannot know.
Retries & Backoff
Exponential backoff, jitter, retry budgets, and how retries become the outage.
Timeouts & Deadlines
Per-hop timeouts that do not compose, and the deadline budget that replaces them.
Circuit Breakers
Failing fast on a broken dependency, and what you fail fast to.
Load Shedding
Rejecting some work deliberately so the rest can be served correctly.
Bulkheads & Isolation
Partitioning resources so one dependency cannot starve the others.
Leader Election
Agreeing who is in charge, and fencing the one who no longer is.
Consensus Protocols
Raft, Paxos and quorums — what they guarantee and what they cost.
Distributed Locking
Mutual exclusion across machines, and why it is harder than it looks.
Distributed Transactions
Two-phase commit, its blocking failure mode, and when it is still reasonable.
Sagas & Compensation
Replacing atomicity with semantic undo, and ordering the irreversible steps last.
Service Discovery
Finding a healthy address for something whose instances are ephemeral.
Messaging & Queues
Decoupling producer from consumer, and the semantics that come with it.
Event Streaming
Retained ordered logs, consumer offsets, partitions and replay.
Clocks & Ordering
Why wall clocks lie, and how logical clocks and versions restore order.
Failure Modes
Slow rather than down, partial, grey, and failing while reporting success.