Nginx负载均衡配置

426 阅读1分钟

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

怕什么真理无穷,进一寸有进一寸的惊喜~