page contents

算法:加权轮询算法

加权轮询算法是负载均衡算法中的一种。在负载均衡的场景下,后端服务器会根据其资源,如内存、cpu等,分配不同的权值。负载均衡器会根据权值分发请求。假设后端有3台服务器,其加权分别为A(5),B(3),C(2)。有10次请求到来时,可能的调度结果是AABACABCAB。

attachments-2023-03-RomC19vw64058bf91147a.jpeg

加权轮询算法是负载均衡算法中的一种。在负载均衡的场景下,后端服务器会根据其资源,如内存、cpu等,分配不同的权值。负载均衡器会根据权值分发请求。假设后端有3台服务器,其加权分别为A(5),B(3),C(2)。有10次请求到来时,可能的调度结果是AABACABCAB。


主要有两种常见的加权轮询算法。


1.循环迭代服务器列表,从中选出大于等于阈值的服务器。阈值初始为最大权值,每次迭代后衰减所有权值的最大公约数。以提到的情况为例。


权值的最大公约数为:1,即每次阈值衰减1


初始阈值为:5


迭代情况如下:

6689c7f5253e4ea3ad6f0722097a0ad4~noop.image?_iz=58558&from=article.pc_detail&x-expires=1678689855&x-signature=hsWolg3M2AL8Wha4qaF2cvDpv%2F8%3D

                                                                   (迭代情况)

算法:加权轮询算法

2018-12-09 17:55·java技术小码农

加权轮询算法是负载均衡算法中的一种。在负载均衡的场景下,后端服务器会根据其资源,如内存、cpu等,分配不同的权值。负载均衡器会根据权值分发请求。假设后端有3台服务器,其加权分别为A(5),B(3),C(2)。有10次请求到来时,可能的调度结果是AABACABCAB。


主要有两种常见的加权轮询算法。


1.循环迭代服务器列表,从中选出大于等于阈值的服务器。阈值初始为最大权值,每次迭代后衰减所有权值的最大公约数。以提到的情况为例。


权值的最大公约数为:1,即每次阈值衰减1


初始阈值为:5


迭代情况如下:



迭代情况


迭代5次,会选出的服务器序列为AAABABCABC。


2.方法1有一个缺陷,不够平滑,会出现访问集中的情况。为了避免这个问题,有了如下平滑加权随机算法。每个服务器有两个加权,一个是静态加权,另一个为动态加权。动态加权初始化为0。在每次迭代时,动态加权叠加上静态加权,然后根据这个值从服务其列表中选出最大的服务器。在本次迭代结束,被选出的服务器的动态加权要减去总的加权和。仍然以上面的情况为例。


加权和为:5+3+2=10


静态加权为:A 5,B 3,C 2


初始动态加权:A 0, B 3,C 2


迭代情况如下:

f0a8826f55644fb891aaea205467f403~noop.image?_iz=58558&from=article.pc_detail&x-expires=1678689855&x-signature=m8lk5fECmx9z4AoR9NnT5iXKy8E%3D

迭代情况

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-RWydvoto62b17daacee7e.jpeg

  • 发表于 2021-12-11 09:29
  • 阅读 ( 527 )
  • 分类:Java开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1312 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章