负载均衡策略

239 阅读1分钟

1. 负载均衡策略

  1. 无状态
  2. 半状态
  3. 全状态

2. 关键点:

  1. 公平性
  2. 正确性 (请求调度到能正确处理它的后端实例上)

3. 负载均衡策略:

3.1 无状态

  1. 轮训 (请求的工作负载和实例的处理能力差异都较小的情况)
  2. 权重轮询 (解决实例的处理能力差异的问题)
  3. FAIR 、随机、权重随机和最少链接数 (可以看gateway / ribbon)\

3.2 半状态 (正确性由后端实例来保证 将请求按一定的策略进行路由,后端实例可以利用路由规则来进行优化)

3.2.1 hash

  1. 正确性: 当实例数发生变化的时候,正确性将会出现问题
  2. 公平性: 公平

3.2.2 一致性 Hash

  1. 一个圆,但是可能把压力给到某一个节点,怎么办? 添加虚拟节点

3.3 全状态(正确性由路由服务 来保证 ) 应用场景:

  1. 全状态 Kafka的Controller模型 数据分片 / 正常分布式系统 leader/follower 的选举其实也算 全状态