реализация алгоритма балансировки
Maxim Dounin
mdounin at mdounin.ru
Fri Apr 24 18:21:45 MSD 2009
Hello!
On Fri, Apr 24, 2009 at 05:53:21PM +0400, Михаил Монашёв wrote:
> Здравствуйте, Игорь.
>
> Есть апстрим:
>
> upstream my_backend {
> server 10.0.0.1:80 weight=1 max_fails=20 fail_timeout=3s;
> server 10.0.0.4:80 weight=5000 max_fails=1000 fail_timeout=3s;
> server 10.0.0.6:80 weight=16000 max_fails=1000 fail_timeout=3s;
> server 10.0.0.4:80 backup;
> server 10.0.0.6:80 backup;
> }
>
> Правильно ли я понимаю, что в таком конфиге запросы пойдут следующим
> образом: 1 запрос на 10.0.0.1:80, потом 5000 запросов на 10.0.0.4:80,
> потом 16000 запросов на 10.0.0.6:80?
Нет. Веса сейчас работают приблизительно так: nginx ходит по кругу,
уменьшая каждый раз вес на 1 и пропуска бекенды с нулевым весом.
Когда у всех бекендов вес становится нулевым - возвращаются
исходные значения весов и всё повторяется.
Т.е. в отсутствии ошибок от бекендов будет как-то так:
1 на .1
10000 по очереди между .4 и .6
11000 на .6.
Maxim Dounin
More information about the nginx-ru
mailing list