Backpressure
A signal from a slow consumer asking the producer to slow down.
Origin
Term used loosely until Reactive Streams (2014) gave it a precise interface. HTTP/2 (2015) added per-stream flow control. Without backpressure, queues grow until OOM — the most common cause of cascading outages.
Where it shows up in production
- Reactive Streams (Java) request(n) is the explicit backpressure signal — the downstream tells upstream how many items it can take.
- gRPC streaming HTTP/2 flow control gives transport-level backpressure for free.
- Kafka consumer pause consumer.pause() / .resume() is the backpressure handle for batch workers.
Sources & further reading
Found this useful?