导读 nginx是通过轮询算法来进行负载均衡的通信的,引导这个请求循环的到配置在upstream组中server端口上去, 因为他是默认的方法,这里没有轮询。

创建一个upstream配置组在stream上下文中,而且在其中添加server。

a)least-connected :对于每个请求,nginx plus选择当前连接数最少的server来处理:

 
 upstream xxxx {
    least_conn;
        server 192.168.10.10:8080;    # 这里配置成要访问的地址
        server 192.168.10.20:8081;
        server 192.168.10.30:8081;     # 需要代理的端口,
    }

b)least time :对于每个链接,nginx plus 通过几点来选择server的: 最底平均延时:通过包含在least_time中指定的参数计算出来的:

connect:连接到一个server所花的时间

first_byte:接收到第一个字节的时间

last_byte:全部接收完了的时间 最少活跃的连接数:

 
 upstream xxxx {
    least_time first_byte;
        server 192.168.10.10:8080;     # 这里配置成要访问的地址
        server 192.168.10.20:8081;
        server 192.168.10.30:8081;     # 需要代理的端口
    }

c)普通的hash算法:nginx plus选择这个server是通过user_defined 关键字,就是IP地址:$remote_addr;

 
  upstream xxxx {
    hash $remote_addr consistent;
        server 192.168.10.10:8080 weight=5;    # 这里配置成要访问的地址
        server 192.168.10.20:8081 max_fails=2 fail_timeout=30s;
        server 192.168.10.30:8081 max_conns=3;    # 需要代理的端口
    }

本文原创地址://q13zd.cn/nginx-tcp-upstream.html作者:吴向平,审核员:逄增宝

本文原创地址://q13zd.cn/nginx-tcp-upstream.html编辑:xiangping wu,审核员:暂无