前言:
Nginx负载均衡配置常用策略有如下这几种
- 轮询(默认)
- 权重
- ip hash
- url hash(第三方)
- fair(第三方)
轮询:
upstream www.baidu.com {
server www.baidu.com:8080;
server www.baidu.com:9080;
}
优点:实现简单.缺点:不考虑每台机器的处理能力
权重:
upstream www.baidu.com {
server www.baidu.com:8080 weight=15;
server www.baidu.com:9080 weight=10;
}
考虑了每台服务器处理能力的不同,weight默认是1,越高优先级越高
iphash
upstream www.baidu.com {
ip_hash;
server www.baidu.com:8080;
server www.baidu.com:9080;
}
优点:能实现同一个用户访问同一个服务器可以不用做单点登录.
缺点:根据iphash不一定能平均
url hash(第三方)
upstream www.baidu.com {
server www.baidu.com:8080;
server www.baidu.com:9080;
hash $request_uri;
}
优点:能实现同一个服务访问同一个服务器.
缺点:根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上,需要安装插件.
fair(第三方)
upstream www.baidu.com {
server www.baidu.com:8080;
server www.baidu.com:9080;
fair;
}
特点:按后端服务器的响应时间来分配请求,响应时间短的优先分配
其他:
upstream backserver {
ip_hash;
server 127.0.0.1:8080 down; //down表示当前server暂时不参与负载
server 127.0.0.1:9080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;//其他所有非backup机器down或者忙时,请求此backup机器
}