Openshift HAproxy 粘性会话问题

Openshift HAproxy sticky session issue

我部署了 2 个 pods Web 应用程序。 Web 应用程序需要登录并维护会话。 在我杀死第一个 pod 后,我会自动重定向到第二个 pod 的登录页面,但是当第一个 pod 再次加载时,我会被重定向回它。 我尝试使用 HAproxy "balance source" 算法和 cookie。 知道为什么它不留在第二个 pod 中吗?

balance source 使用哈希算法,每当可用后端的数量发生变化时,该算法就会更改工作负载分布,因为这就是它的设计目的。如果您有 2 个以上的后端,您还会发现关闭任何一个后端都会导致一些甚至没有到达受影响后端的流量转移到另一个后端,因为这种重新分配。

If the hash result changes due to the number of running servers changing, many clients will be directed to a different server.

http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#4-balance

为了解释为什么您在使用 cookie 而不是 balance source 时没有看到预期的行为,我们需要查看您的配置。