標籤:style blog http color io os ar 使用 sp
本文介紹使用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://@[email protected]: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正常負載。
JBOSS通過Apache負載平衡方法二:使用mod_cluster