tomcat+nginx 负载均衡(共享session篇)

方法一:tomcat-redis-session-manager

具体原理呢,看图


Tomcat-Clustering-Redis-Session-Manager.jpg

版本: tomcat 8.5.30 、nginx 1.14.2、 redis 3.2.100、tomcat-redis-session-manager 3.0

具体步骤:

  1. 下载tomcat-redis-session-manager 工具
    地址:https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki

  2. 解压后将jar包放入 tomcat的lib文件夹中


  3. 将redis-data-cache.properties文件拷贝到tomcat的conf文件夹下,配置根据自己的redis设置


  4. 配置tomcat的 context.xml文件,这里className路径注意下(不知道的把下载的tomcat-cluster-redis-session-manager.jar 解压,查看路径)


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

5.配置nginx.conf


测试:启动两个tomcat 、redis、nginx


结果一

结果二

方法二:弃用session,使用token验证

具体实现:
客户端每次登陆,生成一个唯一的随机字符串(key )和用户信息(value)存入redis中,再从新建一个hash,key存入token,value 存入登陆时间(如果需要token失效时间的话)。
客户端请求时拦截器进行验证。

使用token验证,还可以实现单点登陆。具体就不说了,自己动手试试吧哈哈哈哈哈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容