使用 apache2 mod_proxy(_balancer) 进行 3+3 tomcat 故障转移配置

使用 apache2 mod_proxy(_balancer) 进行 3+3 tomcat 故障转移配置

我们有 3 个活动的 Tomcat 实例,负载应该在它们之间均匀分布(通过 jvmroute、ajp 实现粘性会话)。

我们还运行了 3 个故障转移 Tomcat 实例。如果 3 个活动实例中的一个发生故障,则 3 个故障转移实例中的一个将接管。

我想要使​​用带有负载平衡模块的 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

答案1

它基本上可以工作 - 但似乎不可能使用负载均衡器目标范围内代理人阻止 - 因此,http://本地主机必须使用。

<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

相关内容