浅谈负载均衡算法
负载均衡绕不开的坎。
1.轮询(Round Robin)
轮询算法按照顺序将新的请求分配给下一个服务器,最终实现平分请求。
优点:实现简单,无需记录各种服务的状态,是一种无状态的负载均衡策略。实现绝对公平
缺点:当各个服务器性能不一致的情况,无法根据服务器性能去分配,无法合理利用服务器资源。
2.加权轮询(WeightedRound-Robin)
由于不同的服务器配置不同,因此它们处理请求的能力也不同,给配置高的机器配置相对较高的权重,让其处理更多的请求,给配置较低的机器配置较低的权重减轻期负载压力。加权轮询可以较好的解决这个问题。根据权重的大小让其获得相应被轮询到的机会。
缺点:请求被分配到三台服务器上机会不够平滑。
3.随机(Random)
思路:利用随机数从所有服务器中随机选取一台,可以用服务器数组下标获取。
4.加权随机(Weight Random)
思路:
这里我们是利用区间的思想,通过一个小于在此区间范围内的一个随机数,选中对应的区间(服务器),区间越大被选中的概率就越大
5.IPHash
思路:根据每个每个请求ip(也可以是某个标识)ip.hash() % server.size()
3个ip值除以服务器台数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!