nginx + 多个tomcat8 + memercached session 共享

目标: 利用nginx + memercached + tomcat 实现服务集群session共享

环境配置:

          jdk8   tomcat8  memcached-win64-1.4.4-14.zip

预备知识:

官网参考[必读可获取jar包]:https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration#configure-memcached-session-manager-as--context-manager

jar包获取捷径:https://download.csdn.net/download/jianeng_love_it/11079167

涉及jar包:

来源自下图:

 tomcat   context.xml配置(多台tomcat相同的配置):

<Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
 
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
         memcachedNodes="n1:127.0.0.1:11211" 
        sticky="false"  
        sessionBackupAsync="false"  
        lockingMode="uriPattern:/path1|/path2"  
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"  
    /> 
    <!-- ip需要改成自己tomcat服务器的ip -->
</Context>

 tomcat webapps/ROOT 下加一个测试页面 session.jsp 内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<BR>
SessionID:<%=session.getId()%>
<BR>
SessionIP:<%=request.getServerName()%>
<BR>
SessionPort:<%=request.getServerPort()%>
<BR>

首先启动

         memercached 

然后启动

         2个tomcat 

访问测试:使用同一个浏览器访问session.jsp

第一台:http://localhost:8081/session.jsp

第二台:http://localhost:8080/session.jsp

 

结果:

sessionID 是相同的,端口不一样说明访问的是不同的tomcat。

延伸:

在使用nginx做负载均衡时,同一次会话,轮询访问到多个个tomcat返回的sessionID是一致的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值