Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

backpressure

backpressure bounds a channel’s in-flight work with a semaphore. When every permit is taken, more requests are refused with 503 Service Unavailable immediately — load shedding, not queueing.

Synopsis

{ "backpressure": { "max_concurrent_per_node": 200 } }

Fields

FieldTypeRequiredDefaultDescription
max_concurrent_per_nodeintegeryesMaximum concurrent requests for this channel on this node.

The permit is per channel, not per ingress: synchronous requests, queued /async work, Kafka records, and channel_calls all draw from the same semaphore. Each channel’s semaphore is independent, so a spike on one channel does not shed another’s traffic.

Cross-ingress semantics. A Kafka record that cannot get a permit is left uncommitted for redelivery rather than shed. The transport can wait; an HTTP caller cannot be told to.

The semaphore is per process, as the name states: N replicas admit up to N × max_concurrent_per_node in flight in total.

Last verified 14 September 2026