网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > CISCO > 综合技术 > 综合运用 > Round-Robin负载均衡算法及其实现原理  

Round-Robin负载均衡算法及其实现原理

2008-04-18  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  权重轮询调度算法(Weighted Round-Robin Scheduling)

网管u家u.bitscn@com

  上面所讲的轮询调度算法并没有考虑每台服务器的处理能力,在实际情况中,可能并不是这种情况。由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,我们根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。 网管网www_bitscn_com

  权重轮询调度算法流程 网管论坛bbs_bitsCN_com

  假设有一组服务器S = {S0, S1, …, Sn-1},W(Si)表示服务器Si的权值,一个指示变量i表示上一次选择的服务器,指示变量cw表示当前调度的权值,max(S)表示集合S中所有服务器的最大权值,gcd(S)表示集合S中所有服务器权值的最大公约数。变量i初始化为-1,cw初始化为零。其算法如下: 网管联盟bitsCN@com

  

 while (true) {

  i = (i + 1) mod n;

网管论坛bbs_bitsCN_com

  if (i == 0) { 中国网管联盟bitsCN.com

     cw = cw - gcd(S); 中国网管论坛bbs.bitsCN.com

     if (cw <= 0) { 网管网www_bitscn_com

       cw = max(S);

中国网管论坛bbs.bitsCN.com

       if (cw == 0) 网管联盟bitsCN@com

         return NULL; 中国网管论坛bbs.bitsCN.com

     }

网管联盟bitsCN_com

  } 网管网www.bitscn.com

  if (W(Si) >= cw) 网管bitscn_com

    return Si;

中国网管论坛bbs.bitsCN.com

} 网管论坛bbs_bitsCN_com

网管论坛bbs_bitsCN_com

    这种算法的逻辑实现如图2所示,图中我们假定四台服务器的处理能力为3:1:1:1。
    
    网管联盟bitsCN_com

权重轮询调度实现逻辑图 网管下载dl.bitscn.com

    
    由于权重轮询调度算法考虑到了不同服务器的处理能力,所以这种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。所以,在实际应用中比较常见。

网管网www_bitscn_com

  总结 中国网管论坛bbs.bitsCN.com

  轮询调度算法以及权重轮询调度算法的特点是实现起来比较简洁,并且实用。目前几乎所有的负载均衡设备均提供这种功能。

网管u家u.bitscn@com

  网管网www_bitscn_com

网管联盟bitsCN@com


TAGs
 上一篇:光网络用的各种光纤技术现状分析   下一篇:移动IP城域网的定位及其发展趋势
Round-Robin负载均衡算法及其实现原理 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: