Pular para o conteúdo principal

Load Balance com Apache

Balancear requisições utilizando Apache é muito simples. Vou mostrar o passo a passo a seguir:

Primeiro, neste tutorial utilizei o Apache Lounge, disponível aqui.

Após fazer o download, descompacte o conteúdo no disco C:\, de uma forma que fique algo parecido com: C:\Apache24. É importante descompactar no disco C:\ pois o script httpd.config tem como pré configuração este caminho.

Observação:  o disco pode ser  E:\, F:\ etc. o importante é que seja em sua raiz. Algo pode ser editado no script httpd.config, mas é assunto para outro texto.

Agora vamos para o arquivo httpd.conf, localizado em \Apache24\conf\httpd.conf. Esse arquivo é responsável pelas configurações de balanceamento que iremos utilizar nesse exemplo.

Temos de fazer um load de alguns módulos. Na prática basta descomentar algumas linhas, pois o httpd.conf já vem preenchido. As linhas que devem ser descomentadas são:

#LoadModule access_compat_module modules/mod_access_compat.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.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 rewrite_module modules/mod_rewrite.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so


Mais adiante há o seguinte trecho:
ServerName www.example.com:80

Aqui devemos colocar o host e porta que desejamos utilizar, neste exemplo coloquei:

ServerName 0.0.0.0:8080

Por fim, chegou a hora de montar o balanceador. O exemplo é simples:  em BalancerMenber coloque o endereço e porta de uma instância da aplicação que deseja balancear e em ProxyPass coloque o nome ou endereço do balanceador, conforme o exemplo a seguir:

 

#Balanceamento de carga
<IfModule proxy_module>
         ProxyRequests Off
         ProxyPass /aplicacao balancer://mycluster
         ProxyPassReverse /examples balancer://mycluster
         <Proxy balancer://mycluster>
             BalancerMember http://host_ip:porta/aplicacao/pasta/arquivo
             BalancerMember http://host_ip:porta/aplicacao/pasta/arquivo
         </Proxy>
         ProxyPass /aplicacao balancer://mycluster
         ProxyPassReverse /
aplicacao balancer://mycluster 
</IfModule>

Agora basta endereçar as requisições para http:ip_ou_hostname:8080/aplicacao que o Apache fará o balçanceamento entre os endereços configurados em BalancerMember, que pode ter n endereços.


Fonte: https://httpd.apache.org/docs/

Comentários

Postagens mais visitadas deste blog

Java - Estrutura de classe

Uma classe java simples deve possuir os items a seguir: Pacotes Os pacotes servem para organizar todas as classes que um sistema possui, é correto afirmar que toda classe pertence a um pacote. Caso não haja um pacote declarado a  classe faz parte do default package. Classe Neste item é onde se define atributos e comportamentos de um objeto no java. Sua declaração pode ser muito simples, algo como class Dog {} . (Os modificadores de acesso e notações merecem um post exclusivo :p ). Variáveis A declaração de variáveis deve conter o  seu tipo e seu nome . Existem alguns tipos de variáveis, que guardam conteúdo de maneira diferente, por exemplo algumas podem guardar valores durante a instância de um objeto, outras podem guardar valores compartilhados por todas as instâncias deste objeto ( static ) e também há a possibilidade de variáveis com espoco apenas durante a execução de um método. Métodos A declaração é um pouco diferente, contém o tipo ...