a+x httpd_stop.sh// Cole o conteudoabaixo no arquivo httpd_stop.sh./opt/jboss/httpd/sbin/apachectlstop &6 Inicie o servidorApache Web Server (httpd) com o comandosudo ./httpd_start.sh// Lembrando que parausar a porta 80 precisamos de acesso root ao sistema operacional.7 Entre em qualquernavedor web (firefox, chrome, etc) e acesse o endereco:http://127.0.0.1Devera aparecer aseguinte mensagem:It works!Esta trabalho, ativo.RODANDO UMAAPLICACAO WEB SIMPLESCom o loadbalance(mod_cluster) e as instancias configuradas, precisamos criar umaaplicacao web simples e fazer a sua implantacao (deploy) em cadainstancia do JBoss AS 7. Para isso, vamos criar o servletLoadBalanceServlet cujo codigo sera mostrado a seguir:ArquivoLoadBalanceServlet.javapackage test;importjava.io.IOException;importjava.util.Calendar;importjava.util.Enumeration;importjava.util.Properties;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.ServletOutputStream;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*** Servletimplementation class LoadBalanceServlet*/@WebServlet("/LoadBalanceServlet")public classLoadBalanceServlet extends HttpServlet {private static finallong serialVersionUID = 1L;/*** @seeHttpServlet#HttpServlet()*/publicLoadBalanceServlet() {super();// TODOAuto-generated constructor stub}protected voiddoGet(HttpServletRequest request,HttpServletResponseresponse) throws ServletException, IOException {ServletOutputStreamout = response.getOutputStream();response.setContentType("text/html");out.println("<html>");out.println("<head>");out.println("<title>"+ "Teste loadbalance - Host "+request.getRemoteAddr());out.println("</title>");out.println("</head>");out.println("<body>");out.println("Nododo JBOSS chamado: ");out.println("jboss.node.name: "+System.getProperty("jboss.node.name"));out.println("Tempo:" + Calendar.getInstance().getTimeInMillis());out.println("</body>");out.println("</html>");out.close();out.flush();}/*** @seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected voiddoPost(HttpServletRequest request,HttpServletResponseresponse) throws ServletException, IOException {doGet(request,response);}}A seguir sera mostradoo codigo do arquivo web.xml contendo a configuracao do Servlet.xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"> <display-name>LoadBalanceTestWAR</display-name> <distributable/> <servlet> <servlet-name>LoadBalance</servlet-name> <servlet-class>test.LoadBalanceServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>LoadBalance</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>Com essa configuracao,basta acessar o servlet pelo seguinte endereco:<http://127.0.0.1/LoadBalanceTestWARTambem precisamos doarquivo jboss-deployment-structure.xml para fazer odeploy da aplicacao web.Arquivojboss-deployment-structure.xmlxmlversion="1.0"encoding="UTF-8"?><jboss-deployment-structurexmlns="urn:jboss:deployment-structure:1.1"> <deployment> <dependencies> <modulename="javax.api"/> </dependencies> </deployment> </jboss-deployment-structure>Todos esses arquivos.xml devem estar na pasta WEB-INF da aplicacao web.Comoestamos usando a porta 80 que e padrao para o protocolo HTTP,podemos omitir a porta. Ao se fazer uma requisicao para esseendereco, o mod_cluster de acordo com as politicas definidas,delegara a requisicao para uma determinada instancia do clusterde JBoss AS 7. Esse servlet deve criado e empacotado como um arquivoLoadBalanceTestWAR.war.Paratestar o loadbalance, faremos diversas requisicoes para o mesmoendereco (http://127.0.0.1/LoadBalanceTestWAR)diversas vezes, partindo de apenas um browser web ou diversosbrowsers web.Nasfiguras a seguir, serao mostradas duas chamadas para o mesmoendereco que foi processado por dois nodos diferentes. Para simularisso, basta clicar em atualizar diversas vezes, ate mudar o texto dapagina para outro nodo do cluster.CONCLUSAOEsseartigo mostrou todos os passos necessarios para configurar umloadbalance sobre um cluster de JBoss AS 7. E tambem, podemos mudaras politicas envolvidas na selecao do nodo, como por exemplo:O nodo que estiver mais inativo, isto e, quantidade de cpu usada menor, tera prioridade para receber requisicoesO nodo que estiver usando menos memoria heap da JVM, tera prioridade para receber requisicoesO primeiro nodo localizado que estiver ativo tera prioridade de receber requisicoes.O nodo sera escolhido de forma aleatoria e o escolhido, recebera a requisicao.O nodo que processou menos requisicoes no dia tera prioridade para receber requisicoes.O nodo que processou uma requisicao anterior do mesmo host de origem, tera prioridade para processar requisicoes.Alemdessas regras, podemos criar outras regras e combina-las entre si,de acordo com as regras do negocio envolvidas. Basicamente,recebemos como ENTRADA a requisicao e no fim, o loadbalance deveraretornar uma instancia do cluster de JBoss AS 7 que devera recebera requisicao. Depois disso, o mod_cluster delega a requisicaopara o nodo escolhido. Esse processo se repete a cada requisicao.Portanto,para maior aprofundamento, precisa-se saber como configurar omod_cluster para conter regras personalizadas e de acordo com o nossonegocio em questao. REFERENCIAShttp://docs.jboss.org/mod_cluster/1.1.0/html/native.config.htmlhttp://docs.jboss.org/mod_cluster/1.1.0/html/demo.htmlhttp://docs.jboss.org/mod_cluster/1.1.0/html/java.AS7config.html