Назад | Перейти на главную страницу

с использованием apache mod_proxy_balancer) для конфигурации аварийного переключения 3 + 3 tomcat

у нас есть 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