type
Post
status
Published
date
Oct 20, 2026
slug
getaway1
summary
tags
技术探索
category
手写
icon
password
负载均衡就是将请求合理分配到多个服务实例上,避免单个实例压力过大,提高系统的吞吐量和可用性。
常见的负载均衡算法有六种:
- 轮询(Round Robin):按顺序依次分配请求,适合实例性能相近的场景。
- 加权轮询(Weighted Round Robin):性能强的实例分配更多请求,适合机器配置不同的场景。
- 随机(Random):随机选择实例,实现简单,但短时间内可能分配不均。
- 最少连接(Least Connections):优先选择当前连接数最少的实例,适合长连接、请求耗时差异大的场景。
- 一致性 Hash(Consistent Hash):相同 Key 尽可能映射到同一实例,增删节点时减少请求映射变化,适合需要会话连续性或提高本地缓存命中率的场景。
- 最短响应时间(Least Response Time):优先选择响应快、负载较低的实例,适合实例性能动态变化的场景。
一般场景使用轮询或加权轮询;长连接场景考虑最少连接;需要请求亲和性使用一致性 Hash;需要动态感知实例性能则使用最短响应时间等自适应算法。
注:请求亲和性(Request Affinity),就是让同一个用户或相同特征的请求,尽可能被分配到同一个服务实例。
一致性 Hash 相比普通 Hash 的核心优势是节点增删时,只改变局部 Key 的映射关系,避免普通取模 Hash 导致大量请求重新分配,从而提高缓存命中率并降低数据迁移成本。
分享
