linux下分布式项目基于tomcat8,redis的session共享

最近测试突然找我提了一个线上项目的超级历史遗留问题。简单看了一下,是一个用户注册发送验证码并且验证验证码的业务流程。判断是因为nginx集群中的多个tomcat服务没有共享session,当app一个注册请求是再A服务拿到的验证码,而验证的请求去到了B服务,则验证失败。

方案:

  此方案对应tomcat-8.5.30,redis应用阿里云实例,jdk没有影响(使用了jdk1.7.0_79,jdk1.8.0_65两个版本)。

下载相关jar包及配置文件

开源项目https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/tag/2.0.3

点击下载


解压后


将lib文件夹的jar包复制到tomcat的lib中,conf文件夹的redis-data-cache.properties文件按需配置并拷贝到tomcat的conf中。

再将代码 

<Valve className="tomcat.request.session.redis.SessionHandlerValve" />  

        <Manager className="tomcat.request.session.redis.SessionManager" />  

加入tomcat的conf---->context.xml中


==========================================================

整个过程中遇到的问题都可以根据tomcat启动日志进行解决,测试过程省略。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值