Nginx常用负载均衡策略
轮询策略(默认)
每个请求轮流分发到不同的后端服务器,如果后端服务器down掉,将自动剔除
upstream zclzone.com {
server 127.0.0.1:3000;
server 127.0.0.1:5000;
}
权重策略
每个请求按一定比例分发到不同的后端服务器,weiht值越大,访问的比例就越大,用于后端服务器性能不均的情况
upstream zclzone.com {
server 127.0.0.1:3000 weight=1;
server 127.0.0.1:5000 weight=5;
}
ip_hash策略
ip_hash也叫IP绑定,每个请求按访问IP的hash分配,这样每个客户端会固定访问一个后端服务器,可以解决Session丢失问题 hash('123.123.123.123') % 2 = 0,1
upstream zclzone.com {
ip_hash;
server 127.0.0.1:3000;
server 127.0.0.1:5000;
}
最少连接策略
请求会被转发到连接数量最少的服务器上
upstream zclzone.com {
least_conn;
server 127.0.0.1:3000;
server 127.0.0.1:5000;
}
其他配置
upstream zclzone.com {
server 127.0.0.1:3000;
server 127.0.0.1:5000 backup; #备用机器,其他所有非backup机器down的时候,才请求backup机器,用于分批更新上线尤其好用
}
upstream zclzone.com {
server 127.0.0.1:3000;
server 127.0.0.1:5000 down; #表示down状态,不参与负载均衡,即使其他机器都down掉也不请求
}
server{
listen 80;
server_name localhost;
location / {
proxy_pass http://zclzone.com; #这里的zclzone.com对应的是上面定义的upstream
}
}
怕什么真理无穷,进一寸有进一寸的惊喜~