Kbase 51690: Load Balance para o Jboss com Apache
Autor |
  Gionei Mistura - CAT |
Acesso |
  Público |
Publicação |
  8/30/2016 |
|
É possível configurar uma solução de balanceamento de carga para o Jboss através do Apache. Existem vários módulos do Apache que suportam esta configuração, sendo importante ressaltar que para funcionar corretamente deve estar configurado com afinidade de sessão. A afinidade de sessão garante que após a conexão estar estabelecida para determinada instância, todas as requisições daquela sessão serão encaminhadas para aquela instância.
Esta é uma solução simples de Load Balance para o Jboss do produto Datasul 12, a qual não prestamos suporte. Esta é uma configuração que realizamos em nossos ambientes de testes, a qual poderá ser utilizada como exemplo. Caso ocorra algum erro ou necessite de mais detalhes de configuração, recomendamos entrar em contato com uma equipe de Infra Estrutura para prestar o devido apoio.
Nesta configuração, um servidor Apache direciona as conexões (Round-robin) para os endereços das instâncias do Jboss previamente configurados.
Requisitos:
--> O Apache deve estar instalado, de preferência em um servidor separado das instâncias do Jboss;
--> As instâncias do Jboss deverão estar configuradas e acessíveis.
Configurações:
No servidor Apache, edite o arquivo "httpd.conf" e habilite os módulos abaixo. Para habilitar, basta eliminar o caracter de comentário (#) do início da linha.
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule status_module modules/mod_status.so
Ao final do mesmo arquivo inclua o conteúdo abaixo, alterando o endereço dos servidores e adicionando novas instâncias conforme a necessidade:
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Location>
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://datasul12>
BalancerMember http://servidor1:8080/datasul route=jboss1
BalancerMember http://servidor2:8080/datasul route=jboss2
ProxySet stickysession=ROUTEID
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass /balancer-manager !
ProxyPass / balancer://datasul12