data-infra
Словарь ↗Обратное давление (backpressure)
Обратное давление — это способ системы сигнализировать вверх по потоку, что она не справляется, чтобы поставщики замедлились, а не захлестнули потребителя. Когда данные приходят быстрее, чем их успевают обрабатывать, что-то должно уступить: без обратного давления очереди растут неограниченно, память заполняется, и сервис в итоге падает. Хорошо спроектированные потоковые и очередные системы делают это явным. Перегруженный потребитель перестаёт забирать новые сообщения; заполненная ограниченная очередь блокирует или отклоняет новые записи; реактивный поток передаёт сигнал «замедлись» вплоть до источника. Альтернатива — молча терять данные или рушиться — почти всегда хуже. Для SaaS-разработчиков обратное давление не даёт всплеску трафика превратиться в простой. На практике: предпочитайте ограниченные очереди и буферы неограниченным, заранее решите, что происходит при достижении предела (блокировка, сброс нагрузки или отправка в очередь недоставленных сообщений), и нагрузочно тестируйте путь отказа, а не только благополучный сценарий.
Похожие термины