负载均衡算法
1. 轮循均衡(Round Robin)
每一次来自网络的请求轮流分配给内部中的服务器,从 1 至N然后重新开始。此种均衡算法适合 于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
2. 权重轮循均衡(Weighted Round Robin)
根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请 求。例如:服务器A的权值被设计成 1,B 的权值是 3,C的权值是 6,则服务器A、B、C将分 别接受到10%、30%、60%的服务请求。此种均衡算法能确保高性能的服务器得到更多的使用 率,避免低性能的服务器负载过重。
3. 随机均衡(Random)
把来自网络的请求随机分配给内部中的多个服务器。
4. 权重随机均衡(Weighted Random)
此种均衡算法类似于权重轮循算法,不过在处理请求分担时是个随机选择的过程。
5. 响应速度均衡(Response Time 探测时间)
负载均衡设备对内部各服务器发出一个探测请求(例如 Ping),然后根据内部中各服务器对探测 请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映 服务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时
间,而不是客户端与服务器间的最快响应时间
6. 最少连接数均衡(Least Connection)
最少连接数均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在 处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡 更加符合实际情况,负载更加均衡。此种均衡算法适合长时处理的请求服务,如 FTP。
7. 处理能力均衡(CPU、内存)
此种均衡算法将把服务请求分配给内部中处理负荷(根据服务器CPU型号、CPU数量、内存大小 及当前连接数等换算而成)最轻的服务器,由于考虑到了内部服务器的处理能力及当前网络运行 状况,所以此种均衡算法相对来说更加精确,尤其适合运用到第七层(应用层)负载均衡的情况 下。
8. DNS响应均衡(Flash DNS)
在此均衡算法下,分处在不同地理位置的负载均衡设备收到同一个客户端的域名解析请求,并在 同一时间内把此域名解析成各自相对应服务器的 IP 地址并返回给客户端,则客户端将以最先收到 的域名解析 IP 地址来继续请求服务,而忽略其它的 IP 地址响应。在种均衡策略适合应用在全局负 载均衡的情况下,对本地负载均衡是没有意义的。
9. 哈希算法
一致性哈希一致性Hash,相同参数的请求总是发到同一提供者。当某一台提供者挂时,原本发往 该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
10. IP 地址散列(保证客户端服务器对应关系稳定)
通过管理发送方 IP 和目的地 IP 地址的散列,将来自同一发送方的分组(或发送至同一目的地的分 组)统一转发到相同服务器的算法。当客户端有一系列业务需要处理而必须和一个服务器反复通信 时,该算法能够以流(会话)为单位,保证来自相同客户端的通信能够一直在同一服务器中进行处 理。
11. URL 散列
通过管理客户端请求URL 信息的散列,将发送至相同URL 的请求转发至同一服务器的算法。