C#实现Nginx平滑加权轮询算法
本文实例为大家分享了C#实现Nginx平滑加权轮询算法的具体代码,供大家参考,具体内容如下
代码很简单,算法很经典!
1.定义实体类
publicstructServerConfig
{
//初始权重
publicintWeight{get;set;}
//当前权重
publicintCurrent{get;set;}
//服务名称
publicstringName{get;set;}
}
2.算法
publicstaticintNextServerIndex(ServerConfig[]serverConfigArray)
{
intindex=-1;
inttotal=0;
intsize=serverConfigArray.Count();
for(inti=0;i
3.调用
staticvoidMain(string[]args)
{
varsv=newServerConfig[]{
newServerConfig{Name="A",Weight=4},
newServerConfig{Name="B",Weight=2},
newServerConfig{Name="C",Weight=1}
};
intindex=0;
intsum=sv.Sum(m=>m.Weight);
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。