Apache粘性会话tomcat集群会话到期

时间:2018-01-30 13:25:23

标签: java apache tomcat load-balancing

我有一个应用程序,当会话切换发生时我遇到会话过期(未找到)问题。我在apache中使用粘性会话进行了负载均衡。

当我运行基于java web的应用程序时,会在两个tomcats上创建会话,如下所示 primary tomcat(tomcatA) - 0B04C708749BC91A3A872B753F74E938.tomcatA 二级tomcat(tomcatB) - 0B04C708749BC91A3A872B753F74E938.tomcatA

浏览器cookie将JSESSIONID显示为0B04C708749BC91A3A872B753F74E938.tomcatA。每个请求都发送到tomcatA。在某些时候由于负载均衡请求转到tomcatB。会话ID变为0B04C708749BC91A3A872B753F74E938.tomcatB(在浏览器中它仍然是0B04C708749BC91A3A872B753F74E938.tomcatA,我在servlet中找到了0B04C708749BC91A3A872B753F74E938.tomcatB)。所以找不到会话。

这是默认行为还是我做错了什么?

这两个tomcats与sessionId具有相同的0B04C708749BC91A3A872B753F74E938.tomcatA是否正确?

tomcatB不应该有0B04C708749BC91A3A872B753F74E938.tomcatB吗?

0 个答案:

没有答案