项目笔记:2.tomcat的集群使用memcache实现session一致性
1、在192.168.0.2和192.168.0.3上安装memcached
# yum -y install memcached
# service memcached
# chkconfig memcached
# netstat -tunlp |grep memcache
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 12590/memcached
tcp 0 0 :::11211 :::* LISTEN 12590/memcached
udp 0 0 0.0.0.0:11211 0.0.0.0:* 12590/memcached
udp 0 0 :::11211 :::* 12590/memcached
# ps aux |grep mem
495 12590 0.0 0.1 330836 988 ? Ssl 14:35 0:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
2、为tomcat增加访问会话池的客户(memcache client)
把所需要的jar包(下载的mencache里面)复制到/opt/tomcat/lib/
修改配置文件然后重启tomat
# vim /opt/tomcat/conf/context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.0.2:11211,n2:192.168.0.3:11211"
failoverNodes="n2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
# service tomcat restart
从192.168.0.2把修改过的tomcat同步至node2(192.168.0.3)
node1# rsync -avzR /opt/tomcat root@192.168.0.3:/
node2# service tomcat restart
中间的回话会改变
现在使用了mamcache之后中间的回话id就不变了。