usando o apache2 mod_proxy (_balancer) para a configuração de failover 3 + 3 tomcat

3

temos 3 instâncias ativas do Tomcat, a carga deve ser distribuída uniformemente entre elas (sessões fixas via jvmroute, ajp).

Também temos 3 instâncias do Tomcat de failover em execução. Se uma das três instâncias ativas falhar, uma das três instâncias de failover deverá assumir o controle.

Eu gostaria de usar o Apache2 com um módulo de balanceamento de carga para configurar o balanceamento de carga e o failover.

É possível conseguir isso em apenas uma instância do Apache2?

Pensei em uma configuração como a que está abaixo, mas não sei se funcionaria, nem se seria recomendável fazer isso dessa maneira.

<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
    
por where 22.04.2015 / 13:29

1 resposta

1

Funciona basicamente - mas parece ser impossível usar o alvo loadbalancer dentro de um bloco proxy - portanto, link deve ser usado.

<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
    
por 08.07.2015 / 18:08