我遇到了HAProxy中的“source”负载均衡算法,确保用户将连接到同一服务器,方法是选择基于源IP哈希的服务器
为什么以及什么时候用户连接到同一台服务器很重要?我想不出一个原因,假设所有候选服务器都提供相同的内容。
此外,如果用户需要始终连接到同一服务器,那么加载平衡是否与此用户完全无关?
答案 0 :(得分:1)
如果我们想要实现会话持久性,则用户连接到同一服务器很重要
例如,在谈论HTTP会话时,存在特定于相关会话的信息/变量(想想购物车)。
候选服务器不会共享此动态信息,以防它们未配置为执行此操作,并且在负载平衡级别处理它更为简单。
在HAProxy中处理此问题的首选方法是使用cookies,但这仅适用于HTTP模式。 HAProxy提供source负载平衡算法,以防cookie无法使用。这可以在TCP模式下使用,也可以在拒绝cookie的HTTP客户端中使用。
负载均衡对于有问题的用户来说无关紧要,直到cookie过期。但是我们在处理许多用户时通常需要负载平衡,这样他们就可以由多个服务器提供服务,每个用户都可以使用其中一个用户。