环境
centos6.4
nginx :192.168.44.137
tomcat1 :192.168.44.137
tomcat2 :192.168.44.139
memcache
n1:192.168.44.137:12000
n2:192.168.44.137:12001
相关安装包:http://download.csdn.net/detail/tshangshi/9644004
memcahce
1.memcached是基于libevent的,所以确保系统已经装了libevent
tar -xzvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure –prefix=/usr
make && make install
2.memcache
tar -xzvf memcached-1.4.31.tar.gz
cd memcached-1.4.31
./configure –with-libevent=/usr
make && make install
3.启动
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.44.137 -p 12000 -c256 -P /tmp/memcached.pid
netstat tunlp |grep 12000
|
|
Tomcat
1.添加依赖jar包(javolution序列化)
spymemcached-2.10.3.jar
javolution-5.5.1.jar
memcached-session-manager-1.6.5.jar
memcached-session-manager-tc7-1.6.5.jar
msm-javolution-serializer-1.6.5.jar
msm-flexjson-serializer-1.6.5.jar
msm-kryo-serializer-1.6.5.jar
msm-xstream-serializer-1.6.5.jar
2.context.xml
Sticky 模式:tomcat session 为 主session, memcached 为备 session。Request请求到来时, 从memcached加载备 session到 tomcat (仅当tomcat jvmroute发生变化时,否则直接取tomcat session);Request请求结束时,将tomcat session更新至memcached,以达到主备同步之目的。
Non-Sticky模式:tomcat session 为 中转session, memcached1 为主 session,memcached 2 为备session。Request请求到来时,从memcached 2加载备 session 到 tomcat,(当 容器 中还是没有session 则从memcached1加载主 session 到 tomcat, 这种情况是只有一个memcached节点,或者有memcached1 出错时),Request请求结束时,将tomcat session更新至主memcached1和备memcached2,并且清除tomcat session 。以达到主备同步之目的。
Sticky 模式
vim $TOMCAT_HOME/conf/context.xml
tomcat1
tomcat2
non-sticky模式
|
|
|
|