Nginx几种调度算法

我们经常用nginx做反向代理和负载均衡,这里汇总一下nginx的几种调度算法:

1、轮询

按时间顺序逐一分配到不同的后端服务器。

    upstream lb_demo {
        server 172.16.255.194:9001;
        server 172.16.255.195:9001;
    }

2、加权轮询

可在配置的server后面加个weight=number,number值越高,分配的概率越大。

upstream lb_demo {
        server 172.16.255.194:9001 weight=10;
        server 172.16.255.195:9001 weight=20;
    }

3、ip_hash

每个请求按访问IP的hash分配,这样来自同一IP固定访问一个后台服务器。

upstream lb_demo {
        ip_hash;
        server 172.16.255.194:9001;
        server 172.16.255.195:9001;
    }

4、least_hash

最少链接数,哪个机器连接数少就发分发给哪个机器。

upstream lb_demo {
        least_conn;
        server 172.16.255.194:9001;
        server 172.16.255.195:9001;
    }

5、url_hash

按访问的url的hash结果分配请求,是每个url定向到同一后端服务器上。

upstream lb_demo {
        url_hash;
        server 172.16.255.194:9001;
        server 172.16.255.195:9001;
    }

6、hash关键值

hash自定义的key。

注:调度算法在设置upstream中配置,例如在此大括号里面写入ip_hash表示使用ip_hash的方式分配

猜你喜欢

转载自www.cnblogs.com/hipphappy/p/10807690.html