Memcached_Session_Manager(msm)实现tomcat集群session共享

1:什么是memcached session manager

memcached session manager是一个高可用的Tomcat session共享解决方案,可使用memcached存取Session,以实现高可用。

2:使用场景

一些大型的web2.0的网站,在正式部署时一般是部署在不同故障域的多台应用服务器上,以j2ee应用为例,一般我们都会部署在tomcat下,假如我们部署了10台tomcat服务器,那这10台tomcat可能是部署在不同的机器上,然后将应用程序copy到这10台tomcat下,然后启动所有tomcat,一般来说这样做的目的是为了达到负载均衡以及避免单点故障,另外也考虑到国内网络环境的原因,避免跨网络运营商访问而导致访问速度低下的问题。
当客户访问A服务器时,如果A服务器发生故障或者维护时,访问A服务器的就会负载均衡到B机器,但是session信息会丢掉,用户会发现,突然跳到登录页,用户体验不好。memcached session manager就是为了解决这个问题。

3:配置方法

(1)将上面所提到的包全部拷贝到tomcat的lib下(所有负载的tomcat都需要)
这里写图片描述
相关jar包下载地址
(2)修改每台tomcat的conf目录下得context.xml文件或者server.xml文件,在其中加入如下代码

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
            memcachedNodes="n1:127.0.0.1:11210"
            sticky="false"  
            sessionBackupAsync="false"  
            lockingMode="uriPattern:/path1|/path2"  
            requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
            transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" 
            />

其中127.0.0.1:11210是memcache的地址和端口

4:启动服务器

一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.MemcachedSessionService startInternal
信息: MemcachedSessionService starts initialization... (configured nodes definition n1:127.0.0.1:11210, failover nodes null)
2016-01-08 23:55:05.717 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/127.0.0.1:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2016-01-08 23:55:05.720 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@7b87d6c5
一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.SessionTrackerValve <init>
信息: Setting ignorePattern to .*\.(ico|png|gif|jpg|css|js)$
一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.MemcachedSessionService setLockingMode
信息: Setting lockingMode to URI_PATTERN with pattern /path1|/path2
一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.MemcachedSessionService createTranscoderFactory
信息: Creating transcoder factory de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory
一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.serializer.kryo.KryoTranscoder <init>
信息: Starting with initialBufferSize 102400 and maxBufferSize 2048000
一月 08, 2016 11:55:05 下午 de.javakaffee.web.msm.MemcachedSessionService startInternal
信息: MemcachedSessionService finished initialization, sticky false, with node ids [n1] and failover node ids []
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十五楼亮哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值