日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇

系統(tǒng) 2126 0


?????? 如果要實(shí)現(xiàn)JBoss各節(jié)點(diǎn)的負(fù)載均衡就需要在集群前置負(fù)載均衡器,均衡器是所有請(qǐng)求的入口,將請(qǐng)求按照定義的負(fù)載規(guī)則分配到各節(jié)點(diǎn)。負(fù)載均衡器可以實(shí)現(xiàn)故障轉(zhuǎn)移和狀態(tài)同步。我選擇目前比較流行的Apache Http Server作為集群中的負(fù)載均衡器,通過mod_jk插件與Jboss節(jié)點(diǎn)通訊。

?

1.安裝Apache Http Server

?

下載 httpd-2.2.4.tar.gz

?

解壓文件:

[root@webserver local]# tar -zxvf httpd-2.2.4.tar.gz

?

切換到解壓目錄執(zhí)行編譯

[root@webserver httpd-2.2.4]#./configure -prefix=/usr/local/apache2 -enable-so -enable-setenvif=shared -enable-rewrite=shared -enable-proxy=shared -enable-auth-anon -enable-file-cache=shared -enable-cache=shared -enable-disk-cache=shared -enable-mem-cache=shared -with-mpm=prefork?

[root@webserver httpd-2.2.4]#make

[root@webserver httpd-2.2.4]#make install

?

增加apache用戶組

[root@webserver httpd-2.2.4]#groupadd apache
[root@webserver httpd-2.2.4]#useradd apache –g apache

?

修改apache2目錄用戶與組

[root@webserver local]# chown -R apache:apache apache2

?

修改httpd.conf文件

[root@webserver apache2]# vim conf/httpd.conf
將User daemon和Group daemon改為User apache和Group apache

?

啟動(dòng)apache

[root@webserver apache2]#bin/apachectl start

訪問:http://webserver.localdomain/



?

?

?

?看到上圖表示安裝成功!

?

2.下載并配置mod_jk模塊

下載mod_jk

http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/mod_jk-1.2.30-httpd-2.2.X.so

?

將文件重命名為mod_jk.so 拷貝至/usr/local/apache2/modules/

添加執(zhí)行權(quán)限

[root@webserver apache2]#chmod a+x modules/mod_jk.so

?

創(chuàng)建mod_jk.conf文件

[root@webserver apache2]#vim conf/mod_jk.conf

文件內(nèi)容如下:

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"
JkMountFile conf/uriworkermap.properties
JkShmFile logs/jk.shm

?

大家重點(diǎn)注意表紅部分:

LoadModule jk_module modules/mod_jk.so
表示apache加載jk_module模塊的路徑

JkWorkersFile conf/workers.properties

表示jk模塊的配置文件路徑

JkMountFile conf/uriworkermap.properties
表示jk模塊映射文件路徑,可以通過 uriworkermap.properties 文件配置要映射的應(yīng)用

?

創(chuàng)建uriworkermap.properties文件

[root@webserver apache2]#vim conf/uriworkermap.properties

內(nèi)容如下:

/*=loadbalancer

?

如果你希望apache作為單獨(dú)的負(fù)載均衡器的話,可以采用/*=loadbalancer的配置,表示所有請(qǐng)求都會(huì)轉(zhuǎn)發(fā)給集群中的jboss節(jié)點(diǎn)

?

創(chuàng)建workers.properties文件

[root@webserver apache2]#vim conf/workers.properties

文件內(nèi)容如下:

worker.list=loadbalancer,status
#node1

worker.node1.port=8009
worker.node1.host=node1.localdomain

worker.node1.type=ajp13
worker.node1.lbfactor=1
#node2

worker.node2.port=8009
worker.node2.host=node2.localdomain
worker.node2.type=ajp13
worker.node2.lbfactor=1

?

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
worker.status.type=status

?

以上內(nèi)容中聲明了2個(gè)worker分別名為node1、node2之后要分別在Jboss節(jié)點(diǎn)中jvmRoute屬性中指定要使用的worker

?

3.修改httpd.conf文件

在文件末尾增加下面一行

Include conf/mod_jk.conf

?

4.配置Jboss

為各節(jié)點(diǎn)指定jvmRoute

編輯server.xml文件

[root@node1 local]# vim /usr/local/jboss-4.0.5.GA/server/all/deploy/jbossweb-tomcat55.sar/server.xml

?

jvmRoute設(shè)置成之前在workers.properties文件里聲明的worker
< Engine ? name =" jboss.web" ? defaultHost = "localhost" ? jvmRoute = " node1 " > ??

?

編輯 jboss-service.xml文件激活jk

[root@node1 local]# vim /usr/local/jboss-4.0.5.GA/server/all/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml

找到 <attribute name="UseJK">false</attribute>將其改變?yōu)閠rue

?

5.測(cè)試負(fù)載均衡器

安裝上面的要求配置兩個(gè)jboss節(jié)點(diǎn)

node1.localdomain

node2.localdomain

?

worker.loadbalancer.sticky_session=1

此屬性指定集群針對(duì)HTTP會(huì)話的處理方式,值為1時(shí)表示啟用session黏貼,也就是說當(dāng)應(yīng)用程序使用session保存請(qǐng)求狀態(tài)時(shí),負(fù)載均衡器會(huì)將這個(gè)會(huì)話和集群中的一個(gè)節(jié)點(diǎn)進(jìn)行關(guān)聯(lián),之后這個(gè)會(huì)話發(fā)起的請(qǐng)求都會(huì)指向這個(gè)節(jié)點(diǎn)。

?

在集群中部署測(cè)試程序:

請(qǐng)求:http://webserver.localdomain/SessionTest/index.jsp


JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇
?

如圖所示處理我們本次請(qǐng)求的應(yīng)用服務(wù)器為node1.localdomain


?
JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇
?輸入要保存到Session里的值,點(diǎn)擊SET


JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇
?SET完畢后,在輸入我們剛才存儲(chǔ)的變量名,點(diǎn)擊GET??梢猿晒Φ玫轿覀冎霸O(shè)置的值。我們可以清楚的看到這幾次請(qǐng)求Host與SessionId都沒有改變,說明Session已經(jīng)成功黏貼到了node1.localdomain節(jié)點(diǎn)。

?

但是這種方式并不是一個(gè)完善的解決方案,因?yàn)橐粋€(gè)節(jié)點(diǎn)崩潰,所有的會(huì)話數(shù)據(jù)都會(huì)丟失。好在我們之前配置的JBoss集群支持Session復(fù)制,也就是說當(dāng)一個(gè)Session被創(chuàng)建時(shí)服務(wù)器會(huì)自動(dòng)同步到其他節(jié)點(diǎn)。關(guān)于Session復(fù)制的配置可以到

/usr/local/jboss-4.0.5.GA/server/all/deploy/tc5-cluster.sar/META-INF/jboss-service.xml 文件中設(shè)置。這里就不多說了。

?

我們可以試驗(yàn)一把,我們先把節(jié)點(diǎn)node1.localdomain停掉,然后在點(diǎn)GET獲取UserName


JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇

?

如上圖所示,由于node1.localdomain節(jié)點(diǎn)已經(jīng)停掉,負(fù)載均衡器把我們的請(qǐng)求自動(dòng)分配到了可用節(jié)點(diǎn)node2.localdomain上,但是我們從node2上獲得的SessionId還是原來的,UserName的值可以正常獲取。


?

?
JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇
?

JBoss4.0.5集群實(shí)現(xiàn)---負(fù)載均衡篇


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 许昌市| 西昌市| 全州县| 逊克县| 马尔康县| 佳木斯市| 韶关市| 镇坪县| 岳池县| 九寨沟县| 富阳市| 东乌珠穆沁旗| 花垣县| 全南县| 凤山市| 韶山市| 临汾市| 延川县| 张家港市| 神木县| 张掖市| 兰溪市| 菏泽市| 金川县| 梓潼县| 顺义区| 安泽县| 江都市| 永新县| 铁力市| 徐州市| 黄浦区| 石家庄市| 扶余县| 福州市| 乡宁县| 龙门县| 开平市| 通州区| 湘阴县| 门头沟区|