首页 > 解决方案 > Openshift HAproxy 粘性会话问题

问题描述

我有一个包含 2 个 Web 应用程序 pod 的部署。Web 应用程序需要登录并维护会话。在我杀死第一个 pod 后,我会自动重定向到第二个 pod 的登录页面,但是当第一个 pod 再次加载时,我会被重定向回它。我曾尝试使用 HAproxy“平衡源”算法和 coockies。知道为什么它不留在第二个吊舱吗?

标签: openshiftload-balancinghaproxy

解决方案


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

如果由于运行服务器数量的变化而导致哈希结果发生变化,许多客户端将被定向到不同的服务器。

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

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


推荐阅读