加权轮询算法
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)