开发者社区> 问答> 正文

nginx +tomcat+memcached集群,session不生效,如何解决?

(2台)tomcat+memcached做了集群,sessionID在不同tomcat上相同的,但是给session赋值的时候,发现两边session不同步.非要给nginx 的upstream 配置上 jvm参数后,才能同步,这样配置对不?

展开
收起
落地花开啦 2016-06-01 23:38:35 2569 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    还是配置的问题吧,如果你给nginx加上配置可以的话,那就不是mem的共享session了,而是nginx提供的session,
    所以你需要配置的还是tomcat与mem之间的session共享问题
    附:
    Tomcat间session共享问题,解决方案选择:
    多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:
    1.使用tomcat自带的cluster方式,多个tomcat见自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。
    2.利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但是我们的应用很可能是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。

    1. 利用memcached把多个tomcat的session集中管理,这是最直接的解决方案,但是操作起来也最为复杂。
      我们的系统既要求性能,又要比较好的利用上负载均衡,所以第3个方案是首选。接下来就是安装搭建之路了。
    2019-07-17 19:23:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载