Welcome! Log In Create A New Profile

Advanced

Re: Nginx upstream - server down

Илья Шипицин
August 15, 2011 06:10AM
такого модуля не то, чтобы не хватает .... просто идеология другая.

например, в haproxy очень развит подход с health check-ами, причем они
могут быть сколь угодно программируемы (приложение работает по https,
а для health check используется специальная страница с http
запросами).

это не лучше и не хуже, это просто по-другому.

допустим, вы настроили с интервалом 30 секунд проверку бекенда, бац,
бекенд сдулся, вы по-прежнему думаете, что он живой и отправляете на
него запрос, это хорошо ?

у nginx идеология другая - идем на приложение и смотрим по ситуации,
либо отдаем ответ пользователю, либо идем на следующий бекенд.

не хватает, пожалуй, только настраиваемой Failover strategy, что
делать, если на текущем бекенде сбой

а) прекратить попытки и отдать пользователю ошибку
б) попробовать еще один бекенд
в) пробовать все живые бекенды

сейчас реализован только сценарий "в)"

если у вас много бекендов - делайте маленький тайаут на connect и
будет вам счастье.

9 августа 2011 г. 13:15 пользователь Никита Козлов <niakrisn@gmail.com> написал:
> 9 августа 2011 г. 4:10 пользователь Sergey Kobzar
> <sergey.kobzar@itcraft.org> написал:
>>
>> Максим
>>
>> Спасибо за детальное описание. Идея понятна.
>>
>> В данной реализации есть ньюансы. Например php скрипт "подвис" или база
>> данных залочена (ALTER на таблице в 10G). Соответственно получаем proxy
>> connect timeout и так для _всех_ серверов.
>>
>> Как вариант решения (частный случай) - сделать "пингалку". У того же
>> php-fpm есть ping.path
>> (http://php.net/manual/en/install.fpm.configuration.php). И если ответа нет
>> N sec, то тогда действительно сервер в дауне. На что правим список backend
>> серверов в конфиге и делаем nginx reload.
>>
>> Может глупости пишу на ночь глядя... Здравая критика приветствуется.
>
> Есть http://wiki.nginx.org/HttpHealthcheckModule.
> Грамотной реализации такого функционала крайне не хватает в nginx, очень
> часто случаются такие моменты когда бэкэнд по каким-то причинам не работает,
> или frontand на проксируемом сервере работает, а бэкэнд нет.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Nginx upstream - server down

sergey.kobzar August 03, 2011 08:46AM

Re: Nginx upstream - server down

sergey.kobzar August 03, 2011 03:12PM

Re: Nginx upstream - server down

sergey.kobzar August 03, 2011 03:38PM

Re: Nginx upstream - server down

Maxim Dounin August 03, 2011 04:56PM

Re: Nginx upstream - server down

sergey.kobzar August 03, 2011 05:24PM

Re: Nginx upstream - server down

Maxim Dounin August 05, 2011 06:38AM

Re: Nginx upstream - server down

Maxim Dounin August 05, 2011 07:44AM

Re: Nginx upstream - server down

sergey.kobzar August 08, 2011 08:12PM

Re: Nginx upstream - server down

Никита Козлов August 09, 2011 03:16AM

Re: Nginx upstream - server down

Илья Шипицин August 15, 2011 06:10AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 139
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready