Слегка липкое распределение нагрузки с помощью Apache и mod_proxy_balancer

У нас есть установка, в которой мы хотим, чтобы сессии были в большинстве случаев липкими, но где мы хотим иметь возможность сбалансировать трафик. Например, предположим, что работает только один внутренний сервер. 100% пользователей направляются на этот сервер. Когда запускается другой сервер, мы хотели бы сбалансировать нагрузку на 50%-50%. Мы используем Apache 2.4 с mod_proxy_balancer.

Липкие сеансы легко настроить с помощью файла cookie JSESSIONID, но они слишком липкие - после того, как сеансу был назначен маршрут, он сохраняет этот маршрут, пока маршрут не станет недействительным. Также легко настроить циклический перебор или другие схемы балансировки без привязки и динамически контролировать нагрузку для различных внутренних серверов, но если мы изменим коэффициент загрузки, который не влияет на сеансы, настроенные как закрепленные, за исключением новых сеансов и наших пользователей. как правило, вошли в систему весь день.

Можно ли настроить "слегка залипающие" сеансы с помощью mod_proxy_balancer, где сеансу назначается тот же маршрут, если ничего не изменилось, но где существующие сеансы могут быть перенаправлены в результате изменения коэффициента загрузки или добавленного сервера или с помощью команды?

NGINX, кажется, поддерживает это с помощью методов ip-hash и балансировки хэшей. Есть ли решение для Apache?

1 ответ

Вы должны сконфигурировать экземпляры tomcat с тем же идентификатором маршрута, что и в BalancerMember.

Добавьте параметр jvmRoute в server.xml Tomcat. Это должно быть добавлено в тег имени двигателя. Экземпляр Tomcat с портом 8080

Другие вопросы по тегам