Jsp 会话id定期更改(nginx/tomcat/mamcached/MSM)

Jsp 会话id定期更改(nginx/tomcat/mamcached/MSM),jsp,session,tomcat,nginx,memcached,Jsp,Session,Tomcat,Nginx,Memcached,我在处理服务器组时遇到了一个问题: 1-linux\u 01.xx-->nginx(代理\u通行证) 2-linux_02.xx-->tomcat01(8081)/tomcat02(8082)/memcached 2-linux_03.xx-->tomcat01(8081)/tomcat02(8082) 4个Tomcat使用MSM(非粘性模式)共享会话 在那些tomats中只有一个简单的webapp,index.jsp “body”节点中只有一行: 现在我可以看到页面: 我只是通过点击

我在处理服务器组时遇到了一个问题:

  • 1-linux\u 01.xx-->nginx(代理\u通行证)
  • 2-linux_02.xx-->tomcat01(8081)/tomcat02(8082)/memcached
  • 2-linux_03.xx-->tomcat01(8081)/tomcat02(8082)
4个Tomcat使用MSM(非粘性模式)共享会话

在那些tomats中只有一个简单的webapp,index.jsp “body”节点中只有一行:


现在我可以看到页面:

我只是通过点击超链接来重新加载页面。每次我看到nginx转发请求时(我添加了一些日志配置):

  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
  • 。。。。。。。寄往
=================================================

每次网页的内容如下:

  • 92DSAD8248237523875283723843-n1
  • 92DSAD8248237523875283723843-n1
  • 92DSAD8248237523875283723843-n1
  • 92DSAD8248237523875283723843-n1
  • MAS2983JDUEF83BF3NVDSN323556-n1
  • MAS2983JDUEF83BF3NVDSN323556-n1
  • MAS2983JDUEF83BF3NVDSN323556-n1
  • MAS2983JDUEF83BF3NVDSN323556-n1
  • 0928MSDHEW28JFWF2KEWM23FS-n1
  • 0928MSDHEW28JFWF2KEWM23FS-n1
  • 0928MSDHEW28JFWF2KEWM23FS-n1
  • 0928MSDHEW28JFWF2KEWM23FS-n1
为什么会话id会这样周期性地更改?应该保持不变

但是,如果我们只有linux_02或linux_03,它不会改变。如果那些Tomcat同时来自linux_02和linux_03,那么它总是会发生变化


有人能帮我吗?我在这件事上花了很多时间。。非常感谢。

在研究类似问题时,我偶然发现了一篇关于使用Tomcat进行并行部署的教程。查看标题下的部分,让我知道这是否有助于指导您跨多台服务器管理会话的正确方向。

这是由于这些服务器之间的时间(时钟)不一致造成的,间隔超过1天


我通过设置NTPD和NTP客户端来解决这个问题,以确保这些服务器的时间相同。

您使用的MSM是哪个版本?WEB-INF/lib中的工作人员:hibernate-3.6.10-3.6.10.jar---hibernate-jpa-2.0-api-1.0.1-1.0.jar---hibernate-search-3.4.1.jar-------javolution-5.4.3.1.jar----msm-javolution-serializer-1.7.0.jarapache-tomcat-7.0.50在$CATALINA_HOME/lib中使用了staff:。我通过设置NTPD和NTP客户端来解决这个问题,以确保这些服务器的时间相同。