我有一种情况,我必须在节点发生故障的情况下保持会话粘性。配置是:
- 在 JBoss 4.2.3(同构集群)上运行我们的企业应用程序的三个节点(as1、as2、as3)
- HAProxy 为每个节点执行循环(一个 TCP 服务器和一个 Tomcat)
- 复制的 tomcat 会话(用于故障转移时的 SSO)
- 启用坚持会话(appsession 指令)
我的问题是,当我放下其中一个节点(即 as3)时,会话粘性立即中断:会话在没有重新身份验证的情况下失败(Tomcat 共享会话),但从现在开始,每个请求都从不同的服务器(as1 as2 as1 as2 as1 as2 ...)。
如何确保故障转移请求在故障转移时坚持到第一个可用服务器?