Простыми словами
Производитель выдаёт данные быстрее, чем получатель успевает их обработать. Очередь растёт, память заканчивается, а задержка становится непредсказуемой. Обратное давление позволяет получателю сообщить, сколько данных он готов принять, - как касса, которая открывает вход следующему покупателю только после освобождения места. Это нужно, чтобы перегрузка не превращалась в потерю данных или отказ всей системы.
Формальное определение
Обратное давление - механизм управления потоком, при котором потребитель явно или косвенно ограничивает скорость производителя в соответствии со своей текущей пропускной способностью.
Механизм действия
Потребитель выдаёт разрешения, подтверждения или лимит спроса. Производитель не посылает больше разрешённого объёма либо замедляется при заполнении буфера. Так скорость поступления данных связывается с фактической скоростью обработки.
Пример в работе
Продолжать принимать работу, когда система уже не успевает ее обрабатывать.
Rate limit, bounded queues, отказ с понятным статусом или снижение качества обслуживания.
Ограничения
Обратное давление работает только если сигнал доходит до производителей и они способны замедлиться; иначе давление превращается в буферы, потери или отказ.
Источник
Reactive Streams Initiative, “Reactive Streams Specification”, 2015.