| 算法 | 简介 | 优点 | 缺点 |
| 轮询 | 将请求按顺序轮流地分配到每个节点上 | 简单,易于扩展 | 没有考虑机器的性能问题,集群性能瓶颈更多的会受性能差的服务器影响。 |
| 加权轮询 | 在轮询的基础上,给配置高、当前负载低的机器配置更高的权重 | 将不同机器的性能纳入到考量,集群性能最大化 | 生产环境复杂多变,服务器能力无法精确估算,静态算法导致无法实时动态调整,只能粗糙优化。 |
| 随机 | 将请求随机分配到各个节点。随着客户端调用服务端的次数增多,其实际效果越来越接近于轮询。 | 和轮询相似 | |
| 源地址散列 | 请求的IP地址进行Hash计算,用算出的数值对服务器节点数进行取模,得到的结果便是要访问节点序号 | 同一个IP地址的请求总在同一个服务器上处理,该请求的上下文信息可以存储在这台服务器上,在一个会话周期内重复使用 | 如果某个节点出现故障,会导致这个节点上的客户端无法使用,无法保证高可用。当某一用户成为热点用户,那么会有巨大的流量涌向这个节点,无法有效利用起集群的性能。所以当热点事件出现时,一般会将源地址哈希法切换成轮询法。 |
| 最小连接数 | 动态选取其中当前积压连接数最少的一个节点处理当前请求 | 动态,根据节点状况实时变化 | 复杂度更高,每次连接断开需要进行计数 |
| 最快响应速度 | 将响应速度快的服务节点分配更多的请求 | 动态,实时变化,控制的粒度更细,更灵敏 | 复杂度更高,每次需要计算请求响应速度 |
分布式 —— 负载均衡算法
最新推荐文章于 2024-08-23 21:21:06 发布
本文深入探讨了负载均衡算法,包括轮询、加权轮询、随机、源地址散列和最小连接数等策略。轮询简单易扩展,但忽视服务器性能差异;加权轮询考虑了性能差异,但调整困难;随机算法接近轮询效果;源地址散列确保会话稳定性,但应对故障和热点事件较弱;最小连接数和最快响应速度策略更动态,但实现复杂度较高。这些算法的选择取决于具体应用场景和性能需求。

1772

被折叠的 条评论
为什么被折叠?



