Tomcat通过Memcached实现session共享

Tomcat通过Memcached实现session共享

需要的文件安装包等:
链接: https://pan.baidu.com/s/18Mz_qCy7cR7CUrNNgJnCPg
提取码: 252e

1为什么要session共享?

用Nginx部署集群,转发到两台tomcat上。访问项目时,会出现切换网络或者ip变化等,导致session失效,让用户退出系统。
这是因为原本用户在tomcat-01上,但后面Nginx把请求转发到了tomcat-02上,之前的session就会失效。所以需要做session共享了。

2安装libevent和memcached

memcached需要libevent里面的库,所以需要先安装libevent,再安装memcached。
安装详情文章:https://blog.csdn.net/qq_39289155/article/details/117033848

3安装tomcat

为了简单,不搞Nginx,都在一台服务器上搞。
安装好两个tomcat-01,和tomcat-02

3.1首先复制jar包

在这里插入图片描述
把上面的jar包复制到tomcat的lib文件夹下面。两个tomcat都要。

3.2修改context.xml文件

修改tomcat/conf 文件夹下面的context.xml文件。两个tomcat都更换。

若只安装了一个memcached,可以如下配置:
memcachedNodes配置的就是安装memcached的ip加端口。

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

安装了多个memcached,可以如下配置:
注意修改memcachedNodes属性的memcached的ip加端口。

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

4修改tomcat的访问页面

修改tomcat/webapps/ROOT下面的index.jsp的内容,两个tomcat都更换。

<html>
    <body >     
    <center>    
    <%=  request.getSession().getId()  %>    
    <h1>10.0.0.01</h1>
    <h1>port:18098</h1>
    <h1>this is Tomcat-01 ! </h1> 
    </center>
    </body>
</html>
 
<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false"%>
SessionID:<%=session.getId()%><BR>
SessionIP:<%=request.getServerName()%> <BR>
SessionPort:<%=request.getServerPort()%>
<%     out.println("This is Tomcat server 01 !");     %>

5访问验证

直接访问两个tomcat的地址,ip加端口
查看SessionID,显示的应该是一样的值。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值