Apache有3种负载均衡算法:
理论上,待处理请求计数算法优于其他两种,因为它总是会尝试选择具有最少活动连接的Web服务器。
我有3个Web服务器和1个负载均衡器。我的问题是,当我尝试待处理请求计数算法时,它没有按预期工作。它始终以循环方式选择Web服务器(Web服务器1 - > Web服务器2 - > Web服务器3 - > Web服务器1,依此类推) 根据理论,我预计结果将是(网络服务器1 - >网络服务器1 - >网络服务器1,依此类推)
那么,为什么挂起的请求计数算法没有按预期工作?
注:
答案 0 :(得分:0)
仅仅因为单个服务器可以处理所有请求并不意味着应该。如果一个服务器处理大多数请求,它会比其他服务器更快地耗尽故障,这通常不是一个理想的条件。这样的策略也会带来可靠性风险:即,只要系统负载升高到足以将其放入游戏中,您就可以毫不吝啬地对“服务器3”进行错误配置 - 并且它将在关键时刻失败。
答案 1 :(得分:0)
我不明白为什么你会有不同的行为?来自文档:
自动为具有最少活动请求的工作人员分配新请求。
对于多个最不忙的工作人员,请求计数方法使用的统计信息(和权重)用于打破平局。随着时间的推移,工作的分配将类似于请求的特征。
只要您的服务器有类似的工作要做,行为应该与byrequests相同。只是当某些服务器开始获取大量需要花费时间的请求时,它们才开始被跳过,以便其他服务器获得该流量。
这是我对它的理解。