Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Projeto Soft...
Tela cheia Sugerir um artigo

Adriel Lucas: Configurando um Cluster de Tomcat com Balanceamento de Carga – Parte 3

15 de Outubro de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 45 vezes


Balanceador de Carga

Como foi falado nos posts anteriores, o responsável pelo balanceamento de carga será o apache.  Para isso o apache utiliza o mod_proxy e o mod_proxy_balancer. Com o mod_proxy o apache trabalha como um proxy FTP, http e ssl. Já o mod_proxy_balancer provê um serviço de balanceamento de carga para protocolos HTTP, FTP e AJP13. O mod_proxy_balancer depende do uso do mod_proxy.
Atualmente existem dois métodos de balanceamento de carga:
- Por quantidades de requisições onde cada nó do cluster irá receber uma requisição por vez de modo em que nenhum dos nós fique sobrecarregado.
- Por tráfego, onde o balanceador dedica um nó do cluster para a requisição que for trafegar maior quantidade de informações enquanto que as demais requisições serão enviadas para os outros servidores.

Iniciando a configuração

O cenário onde será feito a configuração do cluster será descrito logo abaixo:
- Ip do Servidor= 192.168.56.101
- Aplicação que será utilizada neste exemplo será um sistema para pedir almoço que foi desenvolvido na empresa que eu trabalho.  O Sistema é jBroca
A configuração do balanceador de carga será feita no arquivo de configuração do Apache “httpd.conf”. No CentOS arquivo de configuração do apache fica dentro do diretório “/etc/httpd/conf/httpd.conf”.
Dentro do arquivo httpd.conf insira este trecho no final do arquivo:
<VirtualHost 192.168.56.101:80>
ServerName 192.168.56.101
ProxyRequests Off

<Proxy 192.168.56:80>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /teste balancer://balancer lbmethod=byrequests stickysession=JSESSIONID nofailover=off
ProxyPassReverse /teste http://192.168.56.101:8080/jbroca
ProxyPassReverse /teste http://192.168.56.101:8081/jbroca

<Proxy balancer://balancer>
BalancerMember http://192.168.56.101:8080/jbroca      route=node01 loadfactor=1
BalancerMember http://192.168.56.101:8081/jbroca      route=node02 loadfactor=1
</Proxy>
<Location /balancer-manager>
setHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.56.101
</Location>
</VirtualHost>
Neste trecho temos a configuração de um virtual host que será responsável pelo recebimento das requisições destinadas a url 192.168.56.101/jbroca. Segue abaixo a descrição de cada item desta configuração:
- ServerName: determina o nome do virtual host, neste caso o 192.168.56.101/jbroca
-ProxyRequest off: determina que o apache não será utilizado como um servidor Proxy ou um reverse Proxy.
- ProxyPass /teste balancer://balancer lbmethod=byrequests stickysession=JSESSIONID nofailover=off: qualquer requisição destinada ao context /teste será utilizado o balanceador de carga balancer para atender as requisições.
- lbmethod=byrequests: é onde define o tipo de balanceamento de carga, onde neste caso o balanceamento de carga é por requisição.
- stickysession=JSESSIONID : define que o apache irá direcionar os pedidos de uma mesma seção para o mesmo servidor.
- nofailover=off: define que todos os servidores dentro cluster serão capazes de superar a falha algum servidor do cluster que se tornar inativo, o apache desviará as requisições deste servidor  para outro servidor.
As opções abaixo são configurações utilizadas para corrigir as respostas vindas dos servidores no cluster que são balanceados, baseando na requisição vinda do cliente:
ProxyPassReverse /jbroca http://192.168.56.101:8080/jbroca
ProxyPassReverse /jbroca http://192.168.56.101:8081/jbroca
Agora é onde declaramos ao balanceador de carga os membros do cluster com suas respectivas características:
<Proxy balancer://balancer>
BalancerMember http://192.168.56.101:8080/jbroca        route=node01 loadfactor=1
BalancerMember http://192.168.56.101:8081/jbroca       route=node02 loadfactor=1
</Proxy>
A ultima opção habilita o gerenciamento do balanceador de carga para os navegadores do domínio: 192.168.56.101. Para visualizar o balancer-manager no navegador basta digitar:http://192.168.56.101/balancer-manager
<Location /balancer-manager>
setHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.56.101
</Location>
Com isto, o apache está configurado para realizar o balanceamento de carga, encaminhando as requisições para os dois servidores dentro do cluster.

Para testar se toda configuração está correta, inicie os tomcat’s e inicie o apache se iniciar corretamente os servidores seu cluster está funcionando e basta acessar no navegador para verificar se o balanceador está funcionando corretamente. No exemplo citado basta acessar: http://192.168.56.101/jbroca
Acesse em diferentes navegadores e verifique se realmente o balanceador está direcionando as requisições para cada servidor. Neste exemplo que foi utilizado será na barra de endereço mostra que as requisições estão sendo balanceadas:
O endereço retornado mostra as requisições divididas nos dois tomcat’s do cluster. O balancer-manager também mostra se as requisições estão sendo balanceadas.

Finalizamos aqui, espero que todos tenham conseguido compreender o que eu tinha para passar para vocês. A aplicação não será disponibilizada por ser uma aplicação utilizada somente na empresa que eu trabalho, então desenvolvam a aplicação de vocês e testem as aplicações rodando em cluster. Qualquer dúvida é só entrar em contato que eu estarei disponível para a ajuda-los, muito obrigado a todos.



Fonte: http://feedproxy.google.com/~r/AdrielLucas/~3/egVOoSN498E/configurando-um-cluster-de-tomcat-com_8501.html

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.