跳到主要内容

负载均衡算法

常见的负载均衡算法

目前常见的负载均衡算法已经很成熟,在很多开源项目中都有实现。

轮询算法

随机算法

完全随机选择一个服务器处理请求

  • 优点: 实现简单,请求均匀分配

  • 缺点: 无法根据服务器性能差异调整权重。

加权轮询算法

最少连接数算法

IP哈希算法

一致性哈希算法

总结

算法优点缺点适用场景
随机实现简单无法考虑性能,可能不均衡测试、学习,服务器性能近乎相同的场景
轮询绝对均衡无法考虑性能服务器性能完全一致的集群
加权轮询考虑性能,合理分配权重静态,无法动态调整生产环境常用,服务器性能有明显差异
加权随机考虑性能,有随机性随机性可能导致短期不均衡替代加权轮询,希望有一定随机性的场景
最小连接数最智能,最合理实现复杂,有监控开销请求处理时长差异较大的场景(如文件上传、长连接)
一致性哈希实现会话粘性,扩展性好实现复杂,需防止数据倾斜有状态服务、分布式缓存、API 网关路由