1,轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器
down掉,能自动剔除。
# 反向代理配置
upstream server_list{
# 这个是tomcat的访问路径
server localhost:8080;
server localhost:9999;
}
server {
listen 80;
server_name localhost;
location / {
root html;
proxy_pass http://server_list;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2,weight 权重
weight 代表权重,默认为1,权重越高被分配的客户端越多
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如
# 反向代理配置
upstream server_list{
# 这个是tomcat的访问路径
server localhost:8080 weight=5;
server localhost:9999 weight=1;
}
3,ip_hash
每个请求按访问ip的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题,不管刷新多少遍,始终访问的是同一台tomcat服务器
upstream backserver {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:9090;
}
4,最少连接
web请求会被转发到连接数最少的服务器上
upstream backserver {
least_conn;
server 127.0.0.1:8080;
server 127.0.0.1:9090;
}
5. fair
按后端服务器的响应时间来分配,响应时间越短越优先分配
upstream backserver {
server 127.0.0.1:8080;
server 127.0.0.1:9090;
fair;
}