我的环境:
ip:192.168.1.150(这是一台linux服务器 80端口是nginx端口 8085端口是tomcat项目端口)
ip:192.168.1.130(这是一台windows服务器 8085端口是tomcat端口)
我的memacahed装在Windows下的,两个tomcat共用一个memacached节点
运行结果
通过访问192.168.1.150:80端口可以通过权重分发服务器
比如:第一次敲192.168.1.150:80反向代理的是192.168.1.150:8085项目
这个时候进行登录,登录信息放在session里面
第二次敲192.168.1.150:80反向代理的是192.168.1.130:8085项目...
第二次不需要再进行登录了,已经登录成功
就是两个tomcat的session信息共享了
需要的jar包
我的windows服务器下的tomcat是6.0的
下载地址:http://download.csdn.net/detail/isresultxal/9436493
我的linux服务器下的tomcat是7.0的
下载地址:http://download.csdn.net/detail/isresultxal/9436495
所以jar包是不一样的
把下载的jar包放在你的tomcat文件夹的lib里面,每个tomcat节点都要放
修改tomcat下的service文件(我的memcached节点在192.168.1.130:11211)
<Context path="" docBase="项目路径" reloadable="false">
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.1.130:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
sessionBackupTimeout="100"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
copyCollectionsForSerialization="ture"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
</Context>
如果你每个tomcat都有一个memached节点
memcachedNodes="n1:192.168.1.130:11211 n2:192.168.1.131:11211 n3:192.168.1.132:11211"
重启每个tomcat节点
展示效果