我的運(yùn)行環(huán)境:windows2003 server sp4 + j2sdk1.5.0 +tomcat5.5.9
準(zhǔn)備軟件:tomcat 5.5.9 jdk1.5.0
一.配置過程
1、安裝jdk1.5.0。采用默認(rèn)安裝就可以。
2、安裝tomcat到c:/ tomcat 50,采用完全安裝,該程序用于實(shí)現(xiàn)負(fù)載均衡功能。
3、將tomcat50的內(nèi)容進(jìn)行完全復(fù)制,生成c:/ tomcat 51、c:/ tomcat 52、c:/ tomcat 53,分別用做集群中的節(jié)點(diǎn)。
4、修改負(fù)載均衡規(guī)則,使其遵循輪循算法(roundrobin)。
4.1將testlb.jsp復(fù)制到c:/tomcat50/webapps/balancer文件夾中
4.2將文件夾classes復(fù)制到c:/tomcat50/webapps/balancer/web-inf文件夾中
4.3修改c:/web/tomcat50/webapps/balancer/web-inf/web.xml文件如下:
5、在集群中每個(gè)節(jié)點(diǎn)下,部署clusterapp應(yīng)用。clusterapp包含sessiondata.jsp,test.jsp,腳本。test.jsp是用來驗(yàn)證節(jié)點(diǎn)狀態(tài)的頁面;sessiondata.jsp是用來響應(yīng)用戶所發(fā)送的請(qǐng)求,同時(shí)記錄會(huì)話id,會(huì)話的起始和最后時(shí)間,提供用戶增加、修改、刪除會(huì)話的屬性字段和屬性值,可以通過此來判斷會(huì)話的持續(xù)與否。
6、將log4j的log4j-1.2.9.jar復(fù)制到每個(gè)%tomcat%/common/ lib下,使其將會(huì)話日志統(tǒng)一存儲(chǔ)到指定的文件中。
7、修改每個(gè)tomcat的server.xml配置文件,參數(shù)如下表所示。
配置 instance 1 instance 2 instance 3 instance 4
instance type load balancer node 1 node 2 node 3
code name tc-lb tc01 tc02 tc03
home directory c:/tomcat50 c:/tomcat51 c:/tomcat52 c:/tomcat53
server port 8005 9005 10005 11005
connector 8080 9080 10080 11080
jk2 ajp connector 8009 9009 10009 11009
cluster mcastaddr 228.0.0.4 228.0.0.4 228.0.0.4 228.0.0.4
cluster mcastport 45564 45564 45564 45564
tcplistenaddress 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
cluster tcplistenport 4000 4001 4002 4003
8、修改c:/web/tomcat50/webapps/balancer/web-inf/config/ruler.xml文件如下:
maxserverinstances="3"
tcplistenaddress="127.0.0.1"
tcplistenport="4001"
testwebpage="http://localhost:9080/clusterapp/test.jsp"
redirecturl="http://localhost:9080/clusterapp/sessiondata.jsp" />
maxserverinstances="3"
tcplistenaddress="127.0.0.1"
tcplistenport="4002"
testwebpage="http://localhost:10080/clusterapp/test.jsp"
redirecturl="http://localhost:10080/clusterapp/sessiondata.jsp" />
maxserverinstances="3"
tcplistenaddress="127.0.0.1"
tcplistenport="4003"
testwebpage="http://localhost:11080/clusterapp/test.jsp"
redirecturl="http://localhost:11080/clusterapp/sessiondata.jsp" />
9、啟動(dòng)tomcat的應(yīng)用。手動(dòng)雙擊每個(gè)tomcat/bin的startup.bat程序。
二.web請(qǐng)求集群環(huán)境下流程
1、啟動(dòng)訪問起始頁(http://localhost:8080/balancer/testlb.jsp)
2、jsp重定向請(qǐng)求到負(fù)載均衡過濾文件(http://localhost:8080/balancer/loadbalancer)
3、負(fù)載均衡的tomcat接受請(qǐng)求,根據(jù)制定的負(fù)載均衡算法,重定向到可用的集群節(jié)點(diǎn)(tc01、tc02、tc03)
4、對(duì)應(yīng)集群中節(jié)點(diǎn)的sessiondata.jsp(位于clusterapp應(yīng)用下)頁面將啟動(dòng)。
5、sesiondata.jsp將在web上顯示會(huì)話的詳細(xì)信息(如會(huì)話id,最后訪問時(shí)間)
在測試的過程中采用roundrobin算法,通過對(duì)instance 1發(fā)起多個(gè)http://localhost:8080/balancer/testlb.jsp測試請(qǐng)求,發(fā)現(xiàn)每個(gè)請(qǐng)求返回頁面的端口號(hào)不完全一致,在9080、10080、11080端口不規(guī)則的出現(xiàn),即客戶端的訪問請(qǐng)求按照roundrobin算法被重定向到不同的服務(wù)器上進(jìn)行處理,說明該負(fù)載均衡規(guī)則在這個(gè)測試中得到正確的體現(xiàn)。在關(guān)閉集群中一個(gè)節(jié)點(diǎn)后再啟用它,能夠自動(dòng)發(fā)現(xiàn)該節(jié)點(diǎn),并為該節(jié)點(diǎn)分配請(qǐng)求。
新聞熱點(diǎn)
疑難解答
圖片精選