轮询(默认)
upstream servername {
server 10.0.0.1:8080;
server 10.0.0.2:8080;
}
权重
weight
默认为1
,weight
越大,负载的权重就越大
upstream servername {
server 10.0.0.1:8080 weight=5;
server 10.0.0.2:8080 weight=10;
}
IP哈希
请求按访问ip的hash结果分配
upstream servername {
ip_hash;
server 10.0.0.1:8080;
server 10.0.0.2:8080;
}
响应时间
按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream servername {
fair;
server 10.0.0.1:8080;
server 10.0.0.2:8080;
}
其它哈希
如:根据请求路径哈希,
hash_method
是使用的hash
算法
upstream servername {
fair;
server 10.0.0.1:8080;
server 10.0.0.2:8080;
hash $request_uri;
hash_method crc32;
}
down/backup
upstream servername {
// down 表示单前的server暂时不参与负载.
server 10.0.0.1:8080 down;
server 10.0.0.2:8080;
server 10.0.0.3:8080;
// 其它所有的非backup机器down或者忙的时候请求backup机器.
server 10.0.0.4:8080 backup;
}