负载均衡
# 七层负载均衡的实现
基于URL等应用层信息的负载均衡,Nginx的Proxy是它一个很强大的功能,实现了7层负载均衡
# Nginx的负载均衡实现的优点是什么?
- 功能强大,性能卓越,运行稳定
- 配置简单灵活
- 能够自动的剔除工作不正常的后端服务器
- 上传文件使用异步模式
- 支持多种分配策略,可以分配权重,分配方式更加灵活
# Nginx负载均衡的策略
内置策略:IpHash、加权轮询 扩展策略: fair策略、通用hash、一致性hash
# 加权轮询
首先将请求都分给高权重的机器,直到该机器的权重都降到比其他机器还要低,才开始将请求分给下一个高权重的机器。当所有的机器都down掉,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态
# IpHash策略
Nginx内置的另一个负载均衡的策略,流程和轮训很类似,只是其中的算法和具体的策略有些变化,是一种变相的轮询算法
# fair策略
根据服务器的响应时间判断负载情况,从中选出负载最轻的机器进行分流
# 通用hash、一致性hash
通用hash比较简单,可以以Nginx内置的变量为key进行hash,一致性hash采用了Nginx内置的一致性hash环,支持memcache
# Nginx策略配置
http {
upstream cluster {
# 使用ip_hash
ip_hash;
# 指定weight使用权重进行轮询
server srv1 weight=12;
server srv2 weight=13;
server srv3 weight=12;
}
server {
listen 80;
location / {
proxy_pass http://cluster;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 四层负载均衡的实现
通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。LVS实现服务器集群的负载均衡有三种方式,NAT、DR和TUN
# 参考链接
上次更新: 2020/12/31, 06:55:18