session复制是指tomcat彼此之间通过组播方式将session发到各个tomcat实例上,如果其中一个访问出错,则另外tomcat仍然具有有效的session内容,从而能正常接管其session。坏处是当tomcat实例很多,或者用户在session中有大量操作时,组播发送的信息量十分惊人。
Tomcat的session复制目前有两种类型,他们的配置稍有区别
分别为:org.apache.catalina.ha.session.DeltaManager和org.apache.catalina.ha.session.BackupManager
DeltaManager复制并发送Session数据到集群下所有的节点,这个实现类被证明非常可靠、运行得非常好。不过有个局限性就是集群的节点类型要相同,而且要部署相同的应用程序。
测试环境
Using CATALINA_BASE: "C:\tomcat_6_1"
Using CATALINA_HOME: "C:\tomcat_6_1"
Using CATALINA_TMPDIR: "C:\tomcat_6_1\temp"
Using JRE_HOME: "E:\Program Files\Java\jdk1.6.0_21"
Using CLASSPATH: "C:\tomcat_6_1\bin\bootstrap.jar"
Server version: Apache Tomcat/6.0.26
JVM Version: 1.6.0_21-b07
JVM Vendor: Sun Microsystems Inc.
一.DeltaManager
1.
修改${CATALINA_HOME}\conf\web.xml文件,加入标签
直接加在之前
2.修改\conf\server.xml
修改:
为:
二.DeltaManager
1.修改:
为:
2.
修改web应用里面WEB-INF目录下的web.xml文件,加入标签
直接加在之前
三.最后,其他可能操作,开启网卡组播功能:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
参考:
http://wiki.apache.org/tomcat/ClusteringOverview
http://blog.csdn.net/lifetragedy/article/details/7712691