LINUX.ORG.RU
ФорумAdmin

[LoadBalancing][Nginx] Балансировка на основе IP пользователя

 


0

1

Добрый день! Есть несколько web-серверов, нагрузку на которые необходимо балансировать. Сейчас используем nginx с модулем ip_hash, но подходит не идеально.

Идеальный вариант такой: при первом обращении запоминается связка IP-Backend и существует некоторое время x (должно задаваться).
При повторном обращении время возобновляется до величины x.

В момент определения backend для конкретного IP адреса необходимо задавать вес каждого backend-а.

У каждого backend-а должен быть флаг, говорящий о том - может ли он принимать новые подключения, т.е. старые связки ip-backend на нём так и продолжают работать, а при выборе он не учитывается.

Есть ли такой функционал в nginx или может где-то ещё?

ip_hash не устраивает тем, что принимает в расчет только первые 3 октета адреса, что для внутренних ресурсов не совсем то, что надо.

У каждого backend-а должен быть флаг

nginx-у пофиг на состоянии бэкендов(вернее, на их загруженность). Тебе нужен более суровый балансер.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.