tomcat利用memcache解决session共享

个人理解,仅供参考

1 说明

主要是利用memcached-session-manager开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享

2 安装包下载

这是将msm官方的jar打了一个zip包方便下载使用

3 环境描述

  • centos-5.4
  • tomcat-6.0.20
  • memcache-session-manager-1.4.0

4 安装配置步骤

4.1 安装memcache见memcache安装

4.2 安装tomcat6见linux nginx负载均衡/图片缓存 + tomcat集群/session共享3.5部分

4.3 安装配置msm

  • 将下载的msm-tomcat6-all-dependence.zip解压,将解压出来的jar包拷贝到tomcat6/lib目录下
  • 修改tomcat6/conf/context.xml文件

</WatchedResource>添加如下配置:

<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="n1:localhost:11211"
    requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
    />
  • 启动tomcat,会发现日志中包含初始化msm的日志,且未出现异常表示插件安装成功

注意:tomcat5,tomcat6, tomcat7的插件包不一样,请详细阅读memcache-session-manager官方wiki,网上看到的一篇配置文章可能是tomcat5的配置,用其方法在tomcat6上配置后session共享不正常。

5 测试session共享

6 参考文献

相关推荐