у нас есть 3 активных экземпляра Tomcat, нагрузка должна распределяться между ними равномерно (липкие сессии через jvmroute, ajp).
У нас также есть 3 запущенных отказоустойчивых экземпляра Tomcat. Если один из трех активных экземпляров выходит из строя, один из трех экземпляров аварийного переключения должен взять на себя ответственность.
Я хотел бы использовать Apache2 с модулем балансировки нагрузки, чтобы настроить балансировку нагрузки и аварийное переключение.
Можно ли добиться этого только в одном экземпляре Apache2?
Я подумал о конфигурации, подобной приведенной ниже, но я не знаю, будет ли она работать и будет ли рекомендовано делать это таким образом.
<Proxy balancer://Group1>
BalancerMember ajp://destination1 route=core1
BalancerMember ajp://destination4 route=core1 status=+H
</Proxy>
<Proxy balancer://Group2>
BalancerMember ajp://destination1 route=core2
BalancerMember ajp://destination4 route=core2 status=+H
</Proxy>
<Proxy balancer://Group3>
BalancerMember ajp://destination1 route=core3
BalancerMember ajp://destination4 route=core3 status=+H
</Proxy>
<Proxy balancer://loadbalancing>
BalancerMember balancer://Group1 route=core1
BalancerMember balancer://Group2 route=core2
BalancerMember balancer://Group3 route=core3
</Proxy>
ProxyPass / balancer://loadbalancing/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://loadbalancing/ nofailover=On
Это в основном работает - но, похоже, невозможно использовать балансировщик нагрузки цель в доверенное лицо блок - следовательно, http: // localhost должен использоваться.
<Proxy balancer://Group1>
ProxySet failonstatus=503
BalancerMember ajp://destination1 route=core1 ping=10
BalancerMember ajp://destination4 route=core1 ping=10 status=+H
</Proxy>
<Proxy balancer://Group2>
ProxySet failonstatus=503
BalancerMember ajp://destination2 route=core2 ping=10
BalancerMember ajp://destination5 route=core2 ping=10 status=+H
</Proxy>
<Proxy balancer://Group3>
ProxySet failonstatus=503
BalancerMember ajp://destination3 route=core3 ping=10
BalancerMember ajp://destination6 route=core3 ping=10 status=+H
</Proxy>
<Proxy balancer://loadbalancing>
ProxySet failonstatus=503
BalancerMember http://localhost/Group1 route=core1 ping=10
BalancerMember http://localhost/Group2 route=core2 ping=10
BalancerMember http://localhost/Group3 route=core3 ping=10
</Proxy>
ProxyPass /Group1 balancer://Group1
ProxyPassReverse /Group1 balancer://Group1
ProxyPass /Group2 balancer://Group2
ProxyPassReverse /Group2 balancer://Group2
ProxyPass /Group3 balancer://Group3
ProxyPassReverse /Group3 balancer://Group3
ProxyPass / balancer://loadbalancer/ stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse / balancer://loadbalancer/ nofailover=on