码迷,mamicode.com
首页 > 编程语言 > 详细

Nginx几种调度算法

时间:2019-05-04 11:28:06      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:nbsp   自定义   服务器   分发   code   服务   ups   完全   情况   

我们经常用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的方式分配

轮询只是简单实现请求的顺序转发,并没有考虑不同服务器的性能差异;

加权轮询设置了初始时服务器的权重,但是没有考虑运行过程中的服务器状态;

IP Hash保证同一个客户端请求转发到同一个后台服务器实现了session保存,然而当某一后台服务器发生故障时,某些客户端将访问失败;

最少连接数只是考虑了后端服务器的连接数情况,并没有完全考虑服务器的整体性能。

Nginx几种调度算法

标签:nbsp   自定义   服务器   分发   code   服务   ups   完全   情况   

原文地址:https://www.cnblogs.com/hipphappy/p/10807690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!