当我正在实施一个简单的负载平衡服务时,我认为 Big-O 是其未来性能和可扩展性的关键因素。但是我找不到关于两种算法(WRR和RR)的大 O 的参考。
我试着计算它们。
(警告我的计算可能是错误的,但我会在得到正确答案后立即编辑帖子)
n-> 服务节点的数量(和权重)
z-> 等待/未完成任务的数量
对于 WRR:O(n n z)
对于 RR:O(z^2)
For WRR: O(1)
For RR: O(1)
所以真正的问题是,如果我的计算是正确的,但最重要的是,在持续负载平衡(到每个运行节点)每秒数千个提交任务的情况下,哪种算法执行速度最快。
一些有用的参考资料:
干杯!