upstream module + backup servers
Maxim Dounin
mdounin на mdounin.ru
Чт Ноя 17 14:15:31 UTC 2011
Hello!
On Thu, Nov 17, 2011 at 07:12:13AM -0500, anon wrote:
> Здравствуйте уважаемые. Заметил одну
> вещь, и не могу пока понять?
> Есть один nginx и несколько 5-7 бекендов,
> некоторые из них самостоятельно
> "опускаются" в случае отсутвия
> нагрузки.
>
> Так вот я свято верил, что когда nginx
> получает от опущенного бекенда 50X или
> вообще его не видит, то он даже не
> пытается пускать туда трафик\людей. На
> практике оказалось что:
>
> request_time 21.142-->10.46.237.50:8081, 10.108.198.171:8081
>
> Как видно мы пытаемся сначала пойти на
> бекенд, который давно в опущен и потом
> только на рабочий.
>
> Это баг или фича, и чего то недопонял?
>
> Используется nginx/1.0.9, upstream_module, метод
> ip_hash
О том, что бекенд выключен, nginx узнает, только отправив на этот
бекенд какой-то из запросов клиентов, и получив ошибку (точнее,
заданное количество ошибок). Пока этого не произошло - бекенд
считается работающим, и нагрузку на него отправляют в обычном
порядке.
(После того как произошло - бекенд будет считаться неработающим
в течении времени fail_timeout для данного бекенда, по умолчанию
10 секунд. Подробнее см. [1].)
[1] http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#server
Maxim Dounin
Подробная информация о списке рассылки nginx-ru