Lopar
@Lopar
системный администратор

Apache load balancing как запретить прыгать между нодами?

Дня. Есть конфиг:
<VirtualHost 100.12.69.1:80>
        ProxyRequests off
        ServerName cluster.local

        <Proxy balancer://cluster>
                BalancerMember http://100.12.69.100:8080 route=AppNode1 loadfactor=1
                BalancerMember http://100.12.69.110:8080 route=AppNode2 loadfactor=1
                ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid
        </Proxy>

        ProxyPass / balancer://cluster/
        ProxyPass http://100.12.69.100 http://100.12.69.100:8080
        ProxyPass http://100.12.69.110 http://100.12.69.110:8080
        ProxyPassReverse / http://100.12.69.100:8080
        ProxyPassReverse / http://100.12.69.110:8080
</VirtualHost>

RoundRobin, Session Affinity. Но нарисовалась проблема: нужно, чтобы пользователь попадающий на одну из нод впоследствии сидел на ней пока не окончит работу, а в текущем режиме на каждом обновлении страницы/переходе по ссылке меняется нода.

Как бы в теории все запросы в рамках сессии должны гулять строго по определённой ноде, но нет. Как это можно исправить?
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
Lopar
@Lopar Автор вопроса
системный администратор
Рабочий конфиг:
<VirtualHost 100.12.69.1:80>
        ServerName cluster.local
        Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

        <Proxy balancer://cluster>
                BalancerMember http://100.12.69.100:8080 route=AppNode1 loadfactor=1
                BalancerMember http://100.12.69.110:8080 route=AppNode2 loadfactor=1
                ProxySet lbmethod=byrequests stickysession=ROUTEID
        </Proxy>

        ProxyPass / balancer://cluster/
        ProxyPassReverse / balancer://cluster/
</VirtualHost>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
включением балансёра через условия фалага через SetEnv надо управлять.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы