502 и load balancing

Igor Sysoev is at rambler-co.ru
Tue Oct 20 23:32:00 MSD 2009


On Tue, Oct 20, 2009 at 08:30:01PM +0400, Sergey Shepelev wrote:

> 2009/10/20 Igor Sysoev <is at rambler-co.ru>:
> > On Tue, Oct 20, 2009 at 02:43:10AM -0400, webscripter wrote:
> >
> >> Заметил что даже не смотря на то что бекенд выдает 502 ошибку(иногда fastcgi отваливается), сам балансер в этот момент все равно отправляет запросы на этот узел, хотя есть еще второй, который работает нормально в этот момент. То есть по сути нерабочесть узла определяется не статусом его ответа, а возможностью с ним соединиться. Возможно ли указать какой статус ответа считать рабочим, а какой нет?
> >
> > Представьте следующую ситуацию:
> >
> > 1) пришёл запрос, отправлен на первый бэкенд (нерабочий, но про это
> >   ещё неизвестно - таймаут ещё не вышел),
> >
> > 2) второй запрос, отправлен на втрой бэкенд,
> >
> > 3) третий запрос. Куда его направлять, если мы ещё не знаем, что первый
> >   бэкенд не отвечает - таймаут не вышел ?
> 
> Разве после таймаута не должно быть 504?

Да, 504. Тогда нужно смотреть. Хотя я часто сталкиваюсь с тем, что
люди называются 502 ошибку 500ой.

> Логично иметь возможность настроить попытку повторить запрос на другой
> бекенд в случае таймаута.

fastcgi_next_upstream.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list