Backpressure is a design decision, not an accident

A producer faster than its consumer fills a queue, and what happens when the queue is full is a decision somebody makes — or a decision the infrastructure makes for you.

the four options, and there are only four:

  buffer     grow the queue. eventually: memory, then a crash.
  drop       shed load. correct for metrics, wrong for orders.
  block      slow the producer down. correct more often than
             people expect.
  redirect   spill to somewhere slower and cheaper.

not choosing means "buffer", which is the worst default.

Blocking the producer is the option that feels wrong and is frequently right: a checkout that takes two seconds because the system is busy is better than a queue that grows for an hour and then fails. Dropping is correct for anything sampled and is a data-loss incident for anything transactional. The decision belongs at design time because at incident time the queue is already full.