码迷,mamicode.com
首页 > 其他好文 > 详细

通过Nginx_upstream_jvm_route插件实现Tomcat集群的session同步

时间:2018-08-27 14:10:18      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:工作原理   fail   配置   扩展   生产环境   tom   nbsp   targe   mem   

 

之前分别介绍了Tomcat通过memcached session manager(MSM)方式自带的CLuster方式实现session共享方案.今天这里说下Tomcat通过Nginx扩展插件nginx-upstream-jvm-route实现session同步,用来实现基于Cookie的Session Sticky的功能。

jvm_route的工作原理
1) 一开始请求过来,没有带session信息,jvm_route就根据round robin的方法,发到一台tomcat上面。
2) tomcat添加上session 信息,并返回给客户。
3) 用户再此请求,jvm_route看到session中有后端服务器的名称,它就把请求转到对应的服务器上。

暂时jvm_route模块还不支持默认fair的模式。jvm_route的工作模式和fair是冲突的。对于某个特定用户,当一直为他服务的tomcat宕机后,默认情况下它会重试max_fails的次数,如果还是失败,就重新启用round robin的方式,而这种情况下就会导致用户的session丢失。

总的说来,jvm_route是通过session_cookie这种方式来实现session粘性,将特定会话附属到特定tomcat上,从而解决session不同步问题,但无法解决宕机后会话转移问题。从根本上来说:jvm_route不是真正session共享,而是session分发固定,其实没有真正解决session共享问题!!生产环境,强烈推荐通过MSM方式实现session共享!

jvm_route插件实现Tomcat集群session同步的操作记录:
本案例所用到的软件下载地址:https://pan.baidu.com/s/1ZWEU15GhJavBqdCXWsYbzA
提取密码:nqr9
下载到服务器本地/usr/local/src目录下.

技术分享图片

1) Nginx部署和配置

 

通过Nginx_upstream_jvm_route插件实现Tomcat集群的session同步

标签:工作原理   fail   配置   扩展   生产环境   tom   nbsp   targe   mem   

原文地址:https://www.cnblogs.com/kevingrace/p/9541551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!