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;
}