upstream¶
1、轮询¶
2、加权循环¶
- weight=number默认是加权循环,先按weight的权重分配,
- max_fails最大失败次数2次,失败超时时间30s,失败找其他的机器 默认权重是1
- fail_timeout 超时失败时间
- backup 之前所有的访问都失效开始尝试backup
upstream backend {
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.1:8080 weight=1 max_fails=2 fail_timeout=30s backup;
}
3、ip_hash¶
ip_hash确保同一个客户端的ip每次都去同一台服务器
down 当前server不参加负载
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
server backend4.example.com;
}
4、hash¶
5、least_conn¶
最小活动连接数,权重的负载均衡
upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
}
6、least_time header|last_byte;¶
响应时间最短,活动连接数
upstream backend {
least_time header;
server backend1.example.com;
server backend2.example.com;
}
推荐使用:加权循环¶
upstream backend {
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.1:8080 weight=1 max_fails=2 fail_timeout=30s backup;
}