你的位置:首页 > 软件开发 > 数据库 > 2种负载均衡算法

2种负载均衡算法

发布时间:2016-06-03 23:00:12
接口定义: public interface ILoadBalance<T> { T Balance(); }实现: public class WeightObject<T> where T : class { int weight; ...

接口定义:

  public interface ILoadBalance<T>  {    T Balance();  }
private Random random; private int totalWeight; private List<WeightObject<Func<T>>> list = new List<WeightObject<Func<T>>>(); public RandomLoadBalance(IEnumerable<WeightObject<Func<T>>> weightObjects) { list.AddRange(weightObjects); totalWeight = list.Select(w => w.Weight).Sum(); random = new Random(); } public T Balance() { int r = random.Next(totalWeight) + 1; int weight = 0; foreach (var item in list) { weight += item.Weight; if (weight>=r) { return item.Activator(); } } return list[0].Activator();// } }

原标题:2种负载均衡算法

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录