首页   快速返回

常用负载均衡算法     所属分类 architecture
轮询 随机  hash 最小连接  加权 

轮询法(Round Robin)
加权轮询法(Weight Round Robin)
随机法(Random)
加权随机法(Weight Random)
平滑加权轮询法(Smooth Weight Round Robin) Nginx实现 
源地址哈希法( ip Hash)
URL散列 (url hash)
最小连接数法(Least Connections)
加权最少连接(Weighted Least Connection)

普通哈希   简单取模
一致性哈希

加权轮询
服务器1权重1,服务器2权重2,服务器3权重3

服务器1 服务器2 服务器2 服务器3 服务器3 服务器3

缺点
a 5 b 1 c 1
a a a a a b c
5个连续的请求落在a上,分布不太均匀

使用 平滑的加权轮询  smooth weighted round-robin balancing

生成的序列
a, a, b, a, c, a, a


各算法的优缺点及适用场景

轮询 
静态稳定  
不关心服务端负载与处理能力
服务端处理能力相同

加权轮询
静态稳定允许服务端性能差异
不关心服务端负载与处理能力
服务端处理能力符合预期且稳定

最少连接
动态实时变化 
复杂度高,连接打开关闭计数
服务端处理能力有波动

最快响应
动态实时变化,控制比最少连接更精细 
复杂度高,需要计算响应时间
服务端处理能力有波动

hash
稳定
由客户端绝对分布,可能导致分布不均
同一个客户端与服务端反复通讯


Nginx的5种负载均衡算法
轮询(默认)
weight
ip_hash
fair  按后端服务器的响应时间来分配请求,响应时间短的优先分配
url_hash


常用负载均衡方案(DNS 数据链路层 IP层 应用层)



DNS域名解析 在DNS中配置多个A记录,常作为第一级负载均衡
DNS缓存, 变更延迟不可控

数据链路层负载均衡 LVS linux virtual server
不修改IP地址,只修改目的mac地址
配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器IP地址一样
三角传输模式 ,物理机器直接返回结果给客户端 
直接路由 DR

IP负载均衡 SNAT 
负载均衡服务器 修改目的IP地址 和源地址 ,数据包源地址改为自身IP
源地址转换  结果返回时会经过负载均衡服务器


应用层 http 反向代理 nginx

上一篇     下一篇
什么是smart beta

java初始化顺序

springboot2启动过程简单分析

注解组合和继承

spring-boot-starter-parent的作用

spring5实例之AnnotationConfigApplicationContext使用