总结
豆包 AI 助手文章总结

nginx 解决session共享问题jvm-route方式(其实没有真正解决共享问题) defroute icroute airlinerout

php中文网
发布: 2016-07-29 08:55:08
原创
1539人浏览过



nginx 解决session共享问题(jvm-route)方式(其实不是真正实现共享,而是分发固定,查看评论2)

1.下载安装jvm_route:http ://nginx-upstream-jvm-route.googlecode.com/svn/trunk/nginx-upstream-jvm-route-read-only

 cd /usr/src/nginx-1.2.1

 patch - p0 

 ./configure --add-module=/usr/local/nginx/nginx-upstream-jvm-route-read-only

 make & make install

2.nginx 设置:

修复
upstream
www.linuxidc.com {
  server 192.168.1.116:8080 srun_id=a;
    这里 srun_id=a  对应的是 server1  resin 配置里的 server id="a"
  server 192.168.1.117:8081 srun_id=b;
    这里 srun_id=b  对应的是 server2 resin 配置里的 server id="b"
  jvm_route $cookie_JSESSIONID|sessionid;
 }

3.tomcat 设置:

 192.168.0.116设置:

 修改tomcat/conf/server.xml

 

 192.168.0.117设置:

 修改tomcat/conf/server.xml
 
3.配置完成

这个模块通过session cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin 负载均衡。

jvm_route的原理(from 作者 Weibin Yao):

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不同步问题,但无法解决宕机后会话转移问题。

以上就介绍了nginx 解决session共享问题jvm-route方式(其实没有真正解决共享问题),包括了Session,route方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号