Как стать автором
Обновить

Комментарии 8

Back pressure выглядит как подтип high load.

CircuitBreaker разве не поможет в этой ситуации? И можно не усложнять интерфейс для пользователей.

CircuitBreaker не будет работать если вы не знаете текущую загруженность. А вы её и не узнаете если упустите давление.

Размер очереди разве не индикатор? Время отклика? В зависимости от сервиса возможно даже доступность свободных ресурсов. Я не критикую - спрашиваю.

У вас не будет никакого размера очереди если вы напишете код неправильно — за отсутствием самой очереди. И время отклика вы померить тоже не сможете если код будет возвращать управление слишком рано.

Как вы можете вернуть управление слишком рано, если у вас нет очереди? Не понимаю.

Где-то очередь, скорее всего, есть — но в случайном месте, и без данных о размере.


Посмотрите примеры из статьи ещё раз — в одном случае очередь "стихийно" образовалась в буфере отправки, в другом прячется в продолжениях операции acquire семафора. И если во втором случае можно хотя бы время отклика посчитать — то в первом даже эта информация оказывается скрыта, размер же недоступен в обоих случаях.


Чтобы иметь возможность принимать решения на основе размера очереди и времени отклика — нужно сначала "прокинуть" обратное давление непосредственно до того кода, который организует очередь и измеряет время отклика.

Спасибо за ответ. И за бурю эмоций, которую он во мне вызвал. Отрицание, принятие, понимание. Полезное дело делаете.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий