知识卡片

负载均衡算法的核心权衡:简单与精确

普通读书笔记卡 · 1671

内容

负载均衡算法从轮询到负载最低优先,本质是在”感知服务器真实状态”和”实现复杂度”间取舍。轮询不关注负载差异,几行代码实现,代价是无法应对能力不均;负载最低优先需持续采集统计服务器状态,能精确适配真实负载,代价是复杂度暴涨十倍以上。发散:这是[[负载均衡的三层组合原则]]同一权衡的算法层体现——负载最低优先效果虽好,实际落地却比轮询少,因多数系统负载差异不值得为它买单。

参考来源

- 位置:《从0开始学架构》第25章《21|高性能负载均衡:算法》"轮询""负载最低优先"两节(源文件:_epub-src/OEBPS/Text/part0024_split_002.html、part0024_split_004.html) - 结论依据:原文明确"轮询可能是5行代码就能实现的算法,而负载最低优先算法可能要1000行才能实现,甚至需要负载均衡系统和服务器都要开发代码……所以负载最低优先算法虽然效果看起来很美好,但实际上真正应用的场景反而没有轮询(包括加权轮询)那么多"。 - 原始内容:轮询可能是5行代码就能实现的算法,而负载最低优先算法可能要1000行才能实现,甚至需要负载均衡系统和服务器都要开发代码……所以负载最低优先算法虽然效果看起来很美好,但实际上真正应用的场景反而没有轮询(包括加权轮询)那么多。