微服务 - 负载均衡算法


负载均衡介绍

服务端负载均衡器

 负载均衡器选型:Apache、Nginx、HAProxy等,均实现基于HTTP协议或TCP协议的负载均衡模块

负载均衡算法

 静态算法:随机(Random)、轮询(Round Robin)

 加权随机 ( Weight Random )算法

 动态算法:最小连接数、最小时延、哈希

最小连接数(Least Connection)算法,根据集群中各个服务的当前打开连接数,来确定目标服务实例,连接数最少的服务实例优先响应请求。

 服务调用时延(Service Invoke Delay) 算法根据服务实例的调用时延来决定负载均衡的结果。服务器根据服务调用和平均时延的差值动态调整权重。

 源地址哈希(Source IP Hash)算法,具体实现时请求IP粘贴(Sticky) 连接,尽可能让同一IP地址访问到同一服务实例。

业界方案选型

Spring Cloud : 实现随机、轮询、加权响应时间、并发量最小优先等

Dubbo: 提供随机、轮询、最小活跃调用数和一致性哈希等算法

相关