Balanceamento de Carga no JBoss AS 6.1 – Parte 2 ( Final )
Mod Cluster é um balanceador de carga HTTP, mas diferente do mod_jk, o mod_cluster se baseia na carga da aplicação para distribuir as requisições. Vamos utilizar o Mod Cluster 1.1.3.
O primeiro passo é baixar os binários para o sistema operacional que será utilizado. Para isso execute o comando abaixo:
wget http://downloads.jboss.org/mod_cluster//1.1.3.Final/mod_cluster-1.1.3.Final-linux2-x64-ssl.tar.gz wget mod_cluster-1.1.3.Final-linux2-x64-ssl.tar.gz
Copie os arquivos *.so, para o diretório /etc/httpd/modules :
- mod_slotmem.so
- mod_manager.so
- mod_proxy_cluster.so
- mod_advertise.so
cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_slotmem.so /etc/httpd/modules/ cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_manager.so /etc/httpd/modules/ cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_proxy_cluster.so /etc/httpd/modules/ cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_advertise.so /etc/httpd/modules/
Edite o arquivo httpd.conf, e insira as linhas abaixo:
LoadModule slotmem_module modules/mod_slotmem.so LoadModule manager_module modules/mod_manager.so LoadModule proxy_cluster_module modules/mod_proxy_cluster.so LoadModule advertise_module modules/mod_advertise.so <VirtualHost *:80> <Directory /> Order deny,allow Allow from all </Directory> <Location /mod_cluster_manager> SetHandler mod_cluster-manager Order deny,allow Allow from all </Location> KeepAliveTimeout 60 MaxKeepAliveRequests 0 ManagerBalancerName testcluster AdvertiseFrequency 5 </VirtualHost>
Comente a linha LoadModule proxy_balancer_module modules/mod_proxy_balancer.so , para não ocorrer um conflito com LoadModule proxy_cluster_module modules/mod_proxy_cluster.so.
Incie o apache e acesse a url : http://ip/mod_cluster_manager , você deverá ver algo semelhante a imagem abaixo:
- Mod Cluster Manager
Agora no JBoss AS 6.1, crie um novo profile , para ser utilizado no balanceamento:
cd /opt/jboss-6.1.0.Final/server/ cp -Rap all instance01
Para habilitar o profile instance01, edite o arquivo :
vim /opt/jboss-6.1.0.Final/server/instance01/deploy/mod_cluster.sar/META-INF/mod_cluster-jboss-beans.xml
Altere a seguinte linha conforme abaixo:
<property name="advertise">${jboss.mod_cluster.advertise.enabled:true}</property></div>
Outra forma é acrecentando o parâmetro a linha de execução:
-Djboss.mod_cluster.advertise.enabled=true
Edite o arqui server.xml :
vim jboss-6.1.0.Final/server/instance01/deploy/jbossweb.sar/server.xml
Adicione o parâmetro para o JvmRoute :
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="${jboss.jvmRoute}">
Para finalizar, crei uma nova instância:
cp -Rap instance01 instance02
Agora inicie as duas instâncias, utilizando os comandos abaixo:
./run.sh -b 0.0.0.0 -g mycluster -c instance01 -Djboss.service.binding.set=ports-default -Djboss.jvmRoute="instance01" -Djboss.messaging.ServerPeerID=1 ./run.sh -b 0.0.0.0 -g mycluster -c instance02 -Djboss.service.binding.set=ports-01 -Djboss.jvmRoute="instance02" -Djboss.messaging.ServerPeerID=2
Acesse novamente http://ip/mod_cluster_manager , você deverá ver as instâncias que acabamos de inciar:
- Mod Cluster Manager / Instances
Baixe o Java Bundles do Mod Cluster. Vamos utilizar as aplicações de demo, para realizar alguns testes:
wget http://downloads.jboss.org/mod_cluster//1.1.3.Final/mod_cluster-1.1.3.Final-bin.tar.gz</div> tar -xvzf mod_cluster-1.1.3.Final-bin.tar.gz
Faça o deploy da aplicação load-demo.war , na pasta farm de instance01 para que seja replicado para instance02.
cp demo/server/load-demo.war /opt/jboss-6.1.0.Final/server/instance01/farm/
Veja que a aplicação já está disponível e pronto para os testes:
- Mod Cluster Manager / Instances / Deploy
Agore execute o client, e divirta-se a vontade.
cd demo/client ./run-demo.sh
- Client Demo – Client Controll
- Client Demo – Server Load Controll
- Client Demo – Request Balancing
- Client Demo – Sesssion Balancing
Espero que tenha ajudado
Ler Post Completo | Faça um comentário ( Nada até agora )










