使用Tomcat实现session共享

4.使用Tomcat实现session共享
问题
沿用练习三,通过为在Tomcat上部署msm(memcached-session-manager)实现session会话共享,本案例需要在练习三的基础上实现:
客户端访问两台不同的后端Web服务器时,Session ID信息一致
方案
在练习三拓扑的基础上,添加两台memcached服务器,并在两台Tomcat服务器上部署msm实现session会话共享。拓扑结构如图-5所示。
使用Tomcat实现session共享_第1张图片
图-5
步骤
实现此案例需要按照如下步骤进行。
步骤一:构建memcached服务
注意:案例中我们需要部署两台memcached服务器,以下操作以其中一台为例。
1)使用源码安装libevent软件包
[root@svr10 ~]# tar -zxvf libevent-2.0.22-stable.tar.gz
[root@svr10 ~]# cd libevent-2.0.22-stable
[root@svr10 libevent-2.0.15-stable]# ./configure
[root@svr10 libevent-2.0.15-stable]# make && make install
[root@svr10 ~]# echo “/usr/local/lib” > /etc/ld.so.conf.d/libevent.conf
[root@svr10 ~]# ldconfig
[root@svr10 ~]# ldconfig –v | grep --color libevent
2)使用源码安装memcached软件包
[root@svr10 ~]# tar -zxvf memcached-1.4.23.tar.tar
[root@svr10 ~]# cd memcached-1.4.23
[root@svr10 memcached-1.4.5]# ./configure
[root@svr10 memcached-1.4.5]# make && make install
3)启动服务并查看网络连接状态验证是否开启成功:
[root@svr5 ~]# bin/memcached -p 11211 \

-u root -m 100 -c 200 -vvv -n 10 -f 2 -d
slab class 1: chunk size 64 perslab 16384
slab class 2: chunk size 128 perslab 8192
slab class 3: chunk size 256 perslab 4096
slab class 4: chunk size 512 perslab 2048
slab class 5: chunk size 1024 perslab 1024
slab class 6: chunk size 2048 perslab 512
slab class 7: chunk size 4096 perslab 256
slab class 8: chunk size 8192 perslab 128
slab class 9: chunk size 16384 perslab 64
[root@svr5 ~]# netstat -anptu | grep memcached
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 2839/memcached
tcp 0 0 :::11211 ::? LISTEN 2839/memcached
udp 0 0 0.0.0.0:11211 0.0.0.0:* 2839/memcached
udp 0 0 :::11211 ::? 2839/memcached
步骤二:在Tomcat服务器上部署msm
注意:这些操作在两台后端Web服务器上均需要执行,以下操作以Web1(192.168.4.205)服务器为例。
1)安装msm
[root@svr205 session]# ls
asm-5.1.jar kryo-3.0.3.jar minlog-1.3.0.jar
memcached-session-manager-1.9.2.jar reflectasm-1.11.1.jar
kryo-serializers-0.34.jar memcached-session-manager-tc8-1.9.2.jar
msm-kryo-serializer-1.9.2.jar spymemcached-2.11.1.jar
[root@svr205 session]# cp .jar /usr/local/tomcat/lib/
2)修改Tomcat配置文件,连接memcached服务器
[root@svr5 ~]# ~]# vim /usr/local/tomcat/conf/context.xml

memcachedNodes=“tomcatA:192.168.0.10:11211"
requestUriIgnorePattern=".
.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass=“de.javakaffee.web.msm.JavaSerializationTranscoderFactory”/>

[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
步骤三:客户端测试
客户端使用浏览器访问两台不同的Web服务器。
操作步骤与练习三一致,最终可以获得相关的Session ID信息。

你可能感兴趣的:(Linux)