负载平衡:用户何时应始终连接到同一服务器



我在HAProxy中遇到了"源"负载平衡算法,该算法通过根据源IP的哈希选择服务器来确保用户连接到同一服务器

为什么以及何时对用户连接到同一服务器很重要?我想不出原因,假设所有候选服务器都提供相同的内容。

此外,如果用户需要始终连接到同一服务器,那么负载平衡不是完全与此用户无关吗?

如果我们想实现会话持久性,用户连接到同一台服务器是很重要的。
例如,在谈论HTTP会话时,有特定于相关会话的信息/变量(想想购物车(。
如果候选服务器未配置为共享此动态信息,则候选服务器不会共享此动态信息,并且在负载平衡级别处理它更简单。

在HAProxy中处理此问题的首选方法是使用cookie,但这仅适用于HTTP模式。HAProxy提供源负载均衡算法,以防无法使用cookie。这可以在TCP模式下使用,也可以与拒绝cookie的HTTP客户端一起使用。

在 cookie 过期之前,负载平衡与相关用户无关。但是在处理许多用户时,我们通常需要负载平衡,以便它们可以由多个服务器提供服务,每个用户都坚持使用其中一个服务器。

最新更新