Welcome! Log In Create A New Profile

Advanced

Как сделать балансировку с возможностью плавно вывести ноду?

Posted by Oxumorron 
Требуется приблизительно такое:
Для IP при первом обращении определяется нода и эта связка ip-node живет время x (от 10 до 60 минут). В пределах этого времени x конкретный IP, для которого есть такая связка, будет попадать на одну и ту же ноду, если она работает. В случае если нода падает, определяется следующая нода.
При этом необходимо иметь возможность "плавного" выведения ноды. Т.е. уже имеющиеся сессии живут на ней, но как только для очередного IP переопределяется нода (согласно п. 1), то выводимая нода не участвует в этом выборе. Метка например какая-то.
Сейчас пока делаем на ip_hash и ноды включать/выключать через down. Но ip_hash хэширует по первым 3-м октетам адреса, а нам бы по 4-м.
Смотрел модуль hash, но он почему-то не позволяет использовать down в описании backend.

Собственно, можно свести к двум вопросам:
1. Как хэшировать весь IP целиком, сохраняя возможность использовать down, weight и т.п.?
2. Как можно сделать "плавное" выведение ноды?
В случае если такого функционала нет, то будет рассматриваться вопрос его разработки и её стоимости. Золотых гор не предвидится, но думаю есть возможность договориться.
ТЗ в настоящий момент нет, поскольку писать его без разработчика, хорошо знакомого с nginx, смысла, очевидно, нет.
Для связи - оставьте свои координаты и я свяжусь в течение 1-2 дней.

PS Возможно такая постановка вопроса окажется более интересной =)
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 273
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready