我的運行環境:windows2003 server sp4 + j2sdk1.5.0 +tomcat5.5.9
準備軟件:tomcat 5.5.9 jdk1.5.0
一.配置過程
1、安裝jdk1.5.0。采用默認安裝就可以。
2、安裝tomcat到c:/ tomcat 50,采用完全安裝,該程序用于實現負載均衡功能。
3、將tomcat50的內容進行完全復制,生成c:/ tomcat 51、c:/ tomcat 52、c:/ tomcat 53,分別用做集群中的節點。
4、修改負載均衡規則,使其遵循輪循算法(roundrobin)。
4.1將testlb.jsp復制到c:/tomcat50/webapps/balancer文件夾中
4.2將文件夾classes復制到c:/tomcat50/webapps/balancer/web-inf文件夾中
4.3修改c:/web/tomcat50/webapps/balancer/web-inf/web.xml文件如下:
5、在集群中每個節點下,部署clusterapp應用。clusterapp包含sessiondata.jsp,test.jsp,腳本。test.jsp是用來驗證節點狀態的頁面;sessiondata.jsp是用來響應用戶所發送的請求,同時記錄會話id,會話的起始和最后時間,提供用戶增加、修改、刪除會話的屬性字段和屬性值,可以通過此來判斷會話的持續與否。
6、將log4j的log4j-1.2.9.jar復制到每個%tomcat%/common/ lib下,使其將會話日志統一存儲到指定的文件中。
7、修改每個tomcat的server.xml配置文件,參數如下表所示。
配置 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、啟動tomcat的應用。手動雙擊每個tomcat/bin的startup.bat程序。
二.web請求集群環境下流程
1、啟動訪問起始頁(http://localhost:8080/balancer/testlb.jsp)
2、jsp重定向請求到負載均衡過濾文件(http://localhost:8080/balancer/loadbalancer)
3、負載均衡的tomcat接受請求,根據制定的負載均衡算法,重定向到可用的集群節點(tc01、tc02、tc03)
4、對應集群中節點的sessiondata.jsp(位于clusterapp應用下)頁面將啟動。
5、sesiondata.jsp將在web上顯示會話的詳細信息(如會話id,最后訪問時間)
在測試的過程中采用roundrobin算法,通過對instance 1發起多個http://localhost:8080/balancer/testlb.jsp測試請求,發現每個請求返回頁面的端口號不完全一致,在9080、10080、11080端口不規則的出現,即客戶端的訪問請求按照roundrobin算法被重定向到不同的服務器上進行處理,說明該負載均衡規則在這個測試中得到正確的體現。在關閉集群中一個節點后再啟用它,能夠自動發現該節點,并為該節點分配請求。
新聞熱點
疑難解答