加权轮询算法

Posted hualou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加权轮询算法相关的知识,希望对你有一定的参考价值。

func (this *LoadBalance) RoundRobinByWeight() *HttpServer {
    server := this.Servers[ServerIndices[this.CurIndex]]
    this.CurIndex = (this.CurIndex + 1) % len(ServerIndices) //ServersIndices存放的是按照权重排放的索引,如3,1,2 则ServerIndices=[0,0,0,1,2,2] 然后遍历ServerIndices可以拿到按照权重得到的索引,在每一次遍历中用索引得到[3,1,2]对应的index,一个数的余数只能是0到他自己
    return server
}




以上是关于加权轮询算法的主要内容,如果未能解决你的问题,请参考以下文章

负载均衡之加权轮询算法(转)

加权轮询算法

负载均衡算法--加权轮询法(Weight Round Robin)

平滑加权轮询算法下的降权

负载均衡算法--平滑加权轮询法(Smooth Weight Round Robin)

平滑加权轮询算法