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