| 
              
                
                  本文基本参考自 
                  
                    轻松实现Apache,Tomcat集群和负载均衡
                  
                  ,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵。 
                   因原文中有较多的贴图,如若各位读者一时不想亲自动手而直想看到配置效果,可查看原文。 
                    
                      
                        一:软件环境
                         
                    
                      
                        二:负载均衡
                      
                    
                     3. http.conf 同目录下新建mod_jk.conf文件 ,内容如下 
 
 
 
                    如果还要指定*.do也进行分流就再加一行
                     
 
 
 
                    
                      
                        5. 修改tomcat配置文件server.xml
                      
                       
 
 把TestCluster放到tomcat1,tomcat2的webapps下 6) 启动apache,tomcat1,tomcat2,进行测试 通过 http://localhost/TestCluster/test.jsp 访问,多刷新几次页面,查看Tomcat1和Tomcat2的窗口,你将可以看到打印了一行行"===========================",并且从统计上来说,大约在tomcat2打印的数量是在Tomcat1中的两倍,可以看到请求会被tomcat1,tomcat2按照不同的权重分流处理,实现了负载均衡。 作下面的集群配置,请在workers.properties把tomcat1和tomcat2的权重改为一样的,使请求较平均分配,将有便于看到实验的效果。 
 
                    
                      
                        三:配置集群
                         
                    
                      1
                    
                      <
                    
                    
                      Cluster 
                    
                    
                      className
                    
                    
                      ="org.apache.catalina.cluster.tcp.SimpleTcpCluster" 2  managerClassName
                    
                    
                      ="org.apache.catalina.cluster.session.DeltaManager" 3  expireSessionsOnShutdown
                    
                    
                      ="false" 4                                                     5  <ClusterListener className
                    
                    
                      ="org.apache.catalina.cluster.session.ClusterSessionListener"
                    
                    
                      /> 6  </
                    
                    
                      Cluster
                    
                    
                      > 前后的注释标记<!-- -->,启用该项配置,实现服务器间的Session复制。 2. 为 Tomcat1和 Tomcat2 增加 jvmRoute ( 先跳过这一步,有精力可以试验一下 ) 在 Tomcat1 和 Tomcat2 的 server.xml 文件,找到 <ENGINE name="Catalina" defaultHost="localhost"> 分别改为 <ENGINE name="Catalina" defaultHost="localhost" jvmRoute="tomcat1" > 和 <ENGINE name="Catalina" defaultHost="localhost" jvmRoute="tomcat2" > 然而实际我配置的时候还不能加jvmRoute属性,配置了反而有问题。 刷新浏览器窗口总是在某一个tomcat控制台输出形如 SessionID:154678FA6D4D0ABD57658B750E7A3532.tomcat1 (在tomcat1窗口) 或者 SessionID:3800571A532AECEA7280F45361861AD4.tomcat2 (在tomcat2窗口) 由控制台打印的结果可以看出,SessionID在哪个tomcat上产生,那么后续该会话的请求将总是会这个tomcat来处理。 并且注意到SessionID的形式比通常情况多了一个后缀.tomcat1或.tomcat2,还搞不清楚是为什么。 配置时请视实际情况而取舍。 3. 修改测试项目 TestCluster 修改test.jsp,内容如下 
 
 
 
 
                    
                      4. 配置Session复制
                    
                     
 
                    也就是在需要集群的应用的web.xml中加上属性,表明该应用可多应用分流处理,能进行Session的复制
                     
                    后记:
                     
                    参考资料:1. 
                    
                      轻松实现Apache,Tomcat集群和负载均衡
                    
                     | 


 
					 
					