JBOSS通过Apache负载均衡方法二:使用mod_cluster
本文介绍使用mod_cluster组件通过apache来对JBOSS做负载均衡。基本环境为:linux RH6.3 64bit下使用jboss-eap-6.0和mod-cluster 1.2.6(集成了mod cluster相关组件的apache,mod_cluster-1.2.6.Final-linux2http-x64.tar.gz,可通过jboss官网的如下连接下载http://mod-cluster.jboss.org/downloads/1-2-6-Final-bin)。
对于apache部分,通过编辑/opt/jboss/httpd/httpd/conf/httpd.conf文件来修改的配置文件:
</IfModule>
# MOD_CLUSTER_ADDS
# Adjust to you hostname and subnet.
<IfModule manager_module>
Listen 172.18.49.203:6666
# ManagerBalancerName mycluster
ManagerBalancerName TestCluster
<VirtualHost 172.18.49.203:6666>
<Location />
Order deny,allow
Deny from all
Allow from all
</Location>
KeepAliveTimeout 300
MaxKeepAliveRequests 0
#ServerAdvertise on http://@IP@:6666
AdvertiseFrequency 5
#AdvertiseSecurityKey secret
AdvertiseGroup 224.0.1.106:23365
ServerAdvertise On
AllowDisplay On
<Location /mod_cluster_manager>
SetHandler mod_cluster-manager
Order deny,allow
Deny from all
#Allow from 127.0.0
Allow from all
</Location>
</VirtualHost>
</IfModule>
配置文件修改完成后,通过/opt/jboss/httpd/sbin/httpd -k start启动apache即可。如下则表明apache启动成功。
jboss-eap-6.0已经集成了mod cluster。对于JBOSS部分,按照如下方法更改配置文件。
要使用mod cluster,必须使用standalone-full-ha.xml或standalone-ha.xml文件来配置JBOSS。
<subsystem xmlns="urn:jboss:domain:modcluster:1.1">
<mod-cluster-config advertise-socket="modcluster" proxy-list="172.18.49.203:6666" balancer="TestCluster" sticky-session="true" connector="ajp">
<dynamic-load-provider>
<load-metric type="busyness"/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>
其中balancer属性需要与Apache中的ManagerBalancerName保持一致。
如果局域网中还有其它多播地址,还需要将以下部分更改为新的多播地址,Apache中相应的AdvertiseGroup也要与其更改为同一地址。
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.106" multicast-port="23365"/>
更改配置后启动JBOSS,访问apache的mod_cluster_manager页面,显示如下,则说明modcluster正常负载。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。