Memcached_Session_Manager(msm)实现tomcat集群session共享
2016-01-09 00:00
681 查看
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 []
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- 实战Memcached缓存系统
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- mysql集群之MMM简单搭建
- 杰奇登录后的东西都是在session里面的
- Redis和Memcached的区别详解
- ASP中SESSION无法保存问题的解决办法
- Oracle中的Connect/session和process的区别及关系介绍
- Node.js编程中客户端Session的使用详解
- MySQL的集群配置的基本命令使用及一次操作过程实录