我的运行环境:Windows Server SP + JSDK +Tomcat
准备软件:Tomcat JDK
一.配置过程
安装JDK采用默认安装就可以
安装tomcat到C:\ tomcat 采用完全安装该程序用于实现负载均衡功能
将tomcat的内容进行完全复制生成C:\ tomcat C:\ tomcat C:\ tomcat 分别用做集群中的节点
修改负载均衡规则使其遵循轮循算法(RoundRobin)
将testLBjsp复制到c\tomcat\webapps\balancer文件夹中
将文件夹classes复制到c\tomcat\webapps\balancer\WEBINF文件夹中
修改c:\web\tomcat\webapps\balancer\WEBINF\webxml文件如下
BalancerFilter
/LoadBalancer
在集群中每个节点下部署clusterapp应用Clusterapp包含sessiondatajsptestjsp脚本testjsp是用来验证节点状态的页面sessiondatajsp是用来响应用户所发送的请求同时记录会话ID会话的起始和最后时间提供用户增加修改删除会话的属性字段和属性值可以通过此来判断会话的持续与否
将logj的logjjar复制到每个%tomcat%/common/ lib下使其将会话日志统一存储到指定的文件中
修改每个tomcat的serverxml配置文件参数如下表所示
配置 Instance Instance Instance Instance
Instance Type Load Balancer Node Node Node
Code name TCLB TC TC TC
Home Directory c:/tomcat c:/tomcat c:/tomcat c:/tomcat
Server Port
Connector
JK AJP Connector
Cluster mcastAddr
Cluster mcastPort
tcpListenAddress
Cluster tcpListenPort
修改c:\web\tomcat\webapps\balancer\WEBINF\config\rulerxml文件如下
serverInstance="1"
maxServerInstances="3"
tcpListenAddress="127.0.0.1"
tcpListenPort="4001"
testWebPage=""
redirectUrl="" />
serverInstance="2"
maxServerInstances="3"
tcpListenAddress="127.0.0.1"
tcpListenPort="4002"
testWebPage=""
redirectUrl="" />
serverInstance="3"
maxServerInstances="3"
tcpListenAddress="127.0.0.1"
tcpListenPort="4003"
testWebPage=""
redirectUrl="" />
redirectUrl="" />
9、启动tomcat的应用。Tw.wINgWiT.coM手动双击每个tomcat/bin的startup.bat程序。
二.Web请求集群环境下流程
1、启动访问起始页()
2、JSP重定向请求到负载均衡过滤文件//localhost:8080/balancer/LoadBalancer)
3、负载均衡的tomcat接受请求,根据制定的负载均衡算法,重定向到可用的集群节点(TC01、TC02、TC03)
4、对应集群中节点的sessiondata.jsp(位于clusterapp应用下)页面将启动。
5、sesiondata.jsp将在web上显示会话的详细信息(如会话ID,最后访问时间)
在测试的过程中采用RoundRobin算法,通过对Instance 1发起多个测试请求,发现每个请求返回页面的端口号不完全一致,在9080、10080、11080端口不规则的出现,即客户端的访问请求按照RoundRobin算法被重定向到不同的服务器上进行处理,说明该负载均衡规则在这个测试中得到正确的体现。在关闭集群中一个节点后再启用它,能够自动发现该节点,并为该节点分配请求。