Hello! On Thu, Oct 13, 2022 at 11:52:42AM +0300, Александр Кунич via nginx-ru wrote:
[...] > А подскажите ещё пожалуйста, строится ли отдельный круг ketama для > серверов с меткой backup? Т.е. если в конфигурации будет указано > несколько серверов с меткой backup, то запросы, приходящие на эти > сервера будут тоже консистентными? Формально backup-сервера вообще не поддерживаются при использовании методов балансировки hash, ip_hash и random, см. тут: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#backup И если сначала задать метод балансировки, а потом уже описывать сервера, то использовать флаг "backup" nginx не разрешит. Если же сервера уже описаны к тому моменту, как задан метод балансировки, и соответственно известно, что backup-сервера не поддерживаются, в текущей реализации nginx такое пропускает. При этом, опять же в текущей реализации, при hash-балансировке nginx пытается делать до 20 попыток перехэширования для выбора сервера, и если за эти 20 попыток он не смог найти работающий сервер - то nginx переключается в режим round-robin-балансировки для выбора хоть какого-то сервера из оставшихся (если хотя бы что-то осталось). И уже в этом режиме срабатывают backup-сервера, если они вдруг были заданы. Соответственно, если вы задали backup-сервера при hash-балансировке, то они будут использоваться только в рамках перехода к round-robin-балансировке при невозможности выбрать сервер с помощью hash-балансировки, и для выбора из backup-серверов будет использоваться round-robin-балансировка. Но по хорошему так делать не надо, это особенность реализации, а не гарантированное поведение. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org