Control producer/consumer imbalance with bounded buffers, dropping strategies, and explicit queues.
Backpressure matters whenever producers can outpace consumers. If you don’t handle it, you end up with unbounded queues, memory blow-ups, and latency spikes that show up as “random” incidents in production.
This section explains the core choices: bounded buffers, dropping/sliding buffers, or pushing back (blocking/parking) so the system naturally slows down under load.
For Java engineers, think of this as the difference between a bounded BlockingQueue that applies pressure versus a runaway unbounded queue that only fails when you hit the wall.