Apache+Jboss集群基于反向代理的负载均衡

阅读更多

假设三台机器IP分别为172.29.128.100、172.29.128.101、172.29.128.102,全部是32Bit的windowsXP系统,分别安装了Apache2.2、jboss-4.2.3.GA、jboss-4.2.3.GA。

将要部署的架构如下:

                  Apache(172.29.128.100)

                               |

                           jboss  cluster

                               |

                               //

                             /    /

                           /        /

                       jboss      jboss     

      (172.29.128.101)    (172.29.128.102)

  1. 在web应用的web.xml文件中加入
  2. 在web应用中(与web.xml同一文件夹下)添加jboss-web.xml文件,内容如下:
    view plain  copy to clipboard  print  ?
    1. < jboss-web >   
    2.     < replication-config >   
    3.         < replication-trigger > SET_AND_NON_PRIMITIVE_GET  
    4.          replication-trigger >   
    5.     < replication-granularity >   
    6.             SESSION  
    7.      replication-granularity >   
    8.     < replication-field-batch-mode >   
    9.             True  
    10.      replication-field-batch-mode >   
    11.      replication-config >   
    12.  jboss-web >   
    [xhtml]  view plain copy
    1. <jboss-web>  
    2.     <replication-config>  
    3.         <replication-trigger>SET_AND_NON_PRIMITIVE_GET  
    4.         replication-trigger>  
    5.     <replication-granularity>  
    6.             SESSION  
    7.     replication-granularity>  
    8.     <replication-field-batch-mode>  
    9.             True  
    10.     replication-field-batch-mode>  
    11.     replication-config>  
    12. jboss-web>  
  3. 应用打成war包 放在 101  102  jboss-4.2.3.GA/server/all/deploy 

 

配置jboss集群:

  1.  101  102  jboss-4.2.3.GA/bin 下新建 run_all.bat 文件,内容分别为: run.bat -c all -b 172.29.128.101  run.bat -c all -b 172.29.128.102(这一步一定要作,否则不能实现会话复制)
  2. 修改jboss-4.2.3.GA/server/all/deploy/jboss-web.deployer/server.xml 文件,将address="${ jboss .bind. adress }" 中的 ${ jboss .bind. adress } 替换成 jboss 服务器的 IP  找到 ,将101 改为 ,102 改为
  3. 修改jboss-4.2.3.GA/server/all/deploy/jboss-web-cluster.sar/META-INF/jboss-server.xml ,注释调 ……,放开……,将所有down_thread="false" up_thread="false" 改为down_thread="true" up_thread="true" 。找到initial_host=” ……,将101 的改为initial_hosts="172.29.128.101[7810],172.29.128.102[7810]" ,102 的改为initial_hosts="172.29.128.102[7810],172.29.128.101[7810]"
  4. 启动101 的jboss ,待启动成功后启动102 的jboss

 

配置负载均衡

  1. 修改apache的httpd.conf ,放开下列模块前的注释:

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

    LoadModule proxy_connect_module modules/mod_proxy_connect.so

    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

    LoadModule proxy_http_module modules/mod_proxy_http.so
  2. httpd.conf 中添加:

    ProxyRequests Off

     

    ProxyPass /yourProName balancer:// 172.29.128.100

           BalancerMember ajp://172.29.128.1018009/yourProName route=node1  loadfactor=50

           BalancerMember ajp://172.29.128.102:8009/yourProName route=node2 loadfactor=50

  3. 启动apache,在浏览器中输入http://172.29.128.100/ yourProName 

你可能感兴趣的:(Apache+Jboss集群基于反向代理的负载均衡)