On 24.05.2021 6:05, Maxim Dounin wrote:

Можете поставить haproxy - он как раз будет держать клиента секунд 10,
пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд,
но зато он не получит 5хх ошибку.

Могу поставить haproxy, но haproxy - это не веб-сервер, он не умеет
отдавать статику. Значит надо будет использовать одновременно и haproxy
и nginx - а это будет примерно в два раза больше работы. Хотелось бы
этой лишней работы избежать и обойтись одним только nginx.

To: Maxim Dounin: Как я понял, сейчас nginx этого не умеет.
Планируется ли в будущем добавить такую функциональность в nginx?

Если это зачем-то надо - то это можно сделать с помощью
конфигурации, error_page + delay + повторное обращение к тому же
бэкенду.

Каким образом можно сделать delay обработки запроса в nginx?

И если надо будет сделать timeout в 10 секунд с интервалом
между попытками обращения к бэкенду в 1 секунду - это надо
будет описать 10 различных locations в конфигурации nginx?

Но вообще если перезапуск php-бэкенда под боевой нагрузкой
считается нормальным рабочим действием, то браузер так или иначе
имеет шанс получить неполный ответ же. Пытаться в подобной
ситуации ещё и ошибки обрабатывать - как по мне, выглядит
излишним.

Это не обязательно может быть перезапуск php-бэкенда
под боевой нагрузкой, может быть и просто временная
деградация сети между nginx-фронтендом и бэкендом.

Есть ли шансы, что директива queue появится в open source версии nginx?

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Reply via email to