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 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
#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
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/
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
Postar um comentário