Re: 502 и load balancing

Sergey Shepelev temotor at gmail.com
Tue Oct 20 20:35:41 MSD 2009


2009/10/20 webscripter <nginx-forum at nginx.us>:
> Igor Sysoev Пишет:
> -------------------------------------------------------
>> On Tue, Oct 20, 2009 at 02:43:10AM -0400,
>> webscripter wrote:
>>
>> > Заметил что даже не смотря
>> на то что бекенд выдает 502
>> ошибку(иногда fastcgi
>> отваливается), сам балансер
>> в этот момент все равно
>> отправляет запросы на этот
>> узел, хотя есть еще второй,
>> который работает нормально
>> в этот момент. То есть по
>> сути нерабочесть узла
>> определяется не статусом
>> его ответа, а возможностью
>> с ним соединиться. Возможно
>> ли указать какой статус
>> ответа считать рабочим, а
>> какой нет?
>>
>> Представьте следующую
>> ситуацию:
>>
>> 1) пришёл запрос, отправлен
>> на первый бэкенд
>> (нерабочий, но про это
>>    ещё неизвестно - таймаут
>> ещё не вышел),
>>
>> 2) второй запрос, отправлен
>> на втрой бэкенд,
>>
>> 3) третий запрос. Куда его
>> направлять, если мы ещё не
>> знаем, что первый
>>    бэкенд не отвечает -
>> таймаут не вышел ?
>>
>>
>> --
>> Игорь Сысоев
>> http://sysoev.ru
>
> То есть другими словами заботу о том чтобы не было 502 ошибки на бекендах нужно возлагать на сами бекенды?
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,15132,15242#msg-15242
>
>

Забота о том, чтобы бекенды (не) возвращали (200,404,502,неважно что)
возлагается, конечно, только на бекенды.
А вот что при получении какого-то ответа (или таймауте) от бекенда
будет возвращать nginx юзеру логично ложится только на nginx. В теории
:)

Как наименьший выход из ситуации, можно сделать красивую страницу
/50x.html и показывать её вместо встроенной 502 Bad Gateway.


More information about the nginx-ru mailing list