Consultor Eletrônico



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