Como configurar o Load Balance de Aplicação no Tomcat?

De Wiki
Ir para: navegação, pesquisa

O Load Balance de Aplicações no Tomcat é um mecanismo para configurar uma aplicação com mais de um worker. Desta forma, quando um worker está sobrecarregado, as chamadas a aplicação são direcionadas para um worker secundário no próprio servidor ou em outro servidor.

Configuração no mesmo servidor

1. Abra uma nova janela do "Terminal" ou execute o “Console” em seu painel;
NOTA: Para informações sobre como utilizar o console, acesse Como utilizar o Console no painel do CloudFlex?.


2. Edite o arquivo /etc/httpd/conf/workers.properties e adicione o conteúdo abaixo:
# The advanced router LB worker
 worker.list=router
 worker.router.type=lb
 worker.router.balance_workers=worker1,worker2

 # Define the first member worker
 worker.worker1.type=ajp13
 worker.worker1.host=IP_SERVIDOR
 worker.worker1.port=8009
 # Define preferred failover node for worker1
 worker.worker1.redirect=worker2

 # Define the second member worker
 worker.worker2.type=ajp13
 worker.worker2.host=IP_SERVIDOR
 worker.worker2.port=8010
 # Disable worker2 for all requests except failover
 #worker.worker2.activation=disabled (Se preferir deixar o worker2 somente para caso de falha, descomente esta linha)
No exemplo acima, o worker.list que deve ser chamado pela aplicação é o router, que na configuração de balanceamento faz referência ao worker1 e worker2.


3. Neste caso, os workers foram configurados para rodarem em portas diferentes, para isso é necessário configurar uma porta adicional no arquivo /var/tomcat/default/conf/server.xml.


4. Localize a linha <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> e, em seguida, copie-a e a cole-a logo abaixo para alterando o Connector port, conforme:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />


5. Por fim, reinicie o Tomcat:
/etc/init.d/tomcat restart

Configuração em servidores diferentes

1. O balanceamento pode ser configurado também em servidores diferentes. Neste caso, a configuração ficará da seguinte forma:
# The advanced router LB worker
 worker.list=router
 worker.router.type=lb
 worker.router.balance_workers=worker1,worker2

 # Define the first member worker
 worker.worker1.type=ajp13
 worker.worker1.host=IP_SERVIDOR_1
 worker.worker1.port=8009
 # Define preferred failover node for worker1
 worker.worker1.redirect=worker2

 # Define the second member worker
 worker.worker2.type=ajp13
 worker.worker2.host=IP_SERVIDOR_2
 worker.worker2.port=8009


A configuração deve ser realizada nos 2 servidores, onde worker1 estará rodando no servidor01 e worker2 no servidor02.


2. Por fim, reinicie o Tomcat:
/etc/init.d/tomcat restart