Стоит Apache 2.2 + mod_proxy_balancer. Настроено по типовому, как в нете в мануалах пишут:На внешней стороне (балансировщик)
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/ stickysession=BALANCEID nofailover=On
ProxyPassReverse / http://srv2-s10-hrs1:8080/
ProxyPassReverse / http://srv2-s10-hrs2:8080/
<Proxy balancer://mycluster>
BalancerMember http://server1:8080 route=http1
BalancerMember http://server2:8080 route=http2
ProxySet lbmethod=byrequests
</Proxy>
Внутренняя сторона (реальные сервера, которые работаю с БД)
<VirtualHost *:8080>
DocumentRoot /home/apache2/htdocs
ServerName server1
RewriteEngine On
RewriteRule .* - [CO=BALANCEID:balancer.http1:.server3]
</VirtualHost>
Внимание вопрос!!! Как это можно сделать? (см.ниже)
Балансирует все прекрасно, но при этом мне надо жестко прибить сессию к конкретному серваку. Допустим если пользователь заходит на внешний Apache (балансировщик) и он его отправляет на server1, надо чтоб этого юзера Apache (балансировщик) постоянно пока пользователь не отвалился по timeout слал его на server1.
Либо, если возможно чисто четные ip слать на server1, нечетные на server2.