关闭

Nginx之4中不同的负载均衡算法

2636人阅读 评论(0) 收藏 举报
分类:

         Nginx的负载均衡支持4种算法,round-robin、least-connected、ip-hash、和weightd。

 

1、round-robin

         round-robin的意思是循环轮询。Nginx最简单的负载均衡配置如下:

http {

    upstream app1 {

        server 10.10.10.1;

        server 10.10.10.2;

    }

 

    server {

        listen 80;

 

        location / {

            proxy_pass http://app1;

        }

    }

}

 

         upstream app1用来指定一个服务器组,该组的名字是app1,包含两台服务器。在指定服务器组里面包含的服务器时以形式“server ip/domain:port”的形式指定,其中80端口可以忽略。然后在接收到请求时通过“proxy_pass http://app1”把对应的请求转发到组app1上。Nginx默认的负载均衡算法就是循环轮询,如上配置我们采用的就是循环轮询,其会把接收到的请求循环的分发给其包含的(当前可用的)服务器。使用如上配置时,Nginx会把第1个请求给10.10.10.1,把第2个请求给10.10.10.2,第3个请求给10.10.10.1,以此类推。

 2、least-connected

         least-connected算法的中文翻译是最少连接,即每次都找连接数最少的服务器来转发请求。例如Nginx负载中有两台服务器,A和B,当Nginx接收到一个请求时,A正在处理的请求数是10,B正在处理的请求数是20,则Nginx会把当前请求交给A来处理。要启用最少连接负载算法只需要在定义服务器组时加上“least_conn”,如:

    upstream app1 {

                   least_conn;

        server 10.10.10.1;

        server 10.10.10.2;

    }

 

3、ip-hash

         ip-hash算法会根据请求的客户端IP地址来决定当前请求应该交给谁。使用ip-hash算法时Nginx会确保来自同一客户端的请求都分发到同一服务器。要使用ip-hash算法时只需要在定义服务器组时加上“ip-hash   ”指令,如:

    upstream app1 {

                   ip_hash;

        server 10.10.10.1;

        server 10.10.10.2;

    }

 

4、weighted

         weighted算法也就是权重算法,会根据每个服务的权重来分发请求,权重大的请求相对会多分发一点,权重小的会少分发一点。这通常应用于多个服务器的性能不一致时。需要使用权重算法时只需要在定义服务器组时在服务器后面指定参数weight,如:

    upstream app1 {

        server 10.10.10.1 weight=3;

        server 10.10.10.2;

    }

 

         在如上配置时,Nginx接收到的请求中大概每4个请求中会有3个请求交给10.10.10.1服务器处理,有1个请求交给10.10.10.2处理。

 

         除了这些指令外,Nginx负载还可以指定其它一些指令,比如

         backup、down等,详情可参考: http://nginx.org/en/docs/http/ngx_http_upstream_module.html

         Nginx可指定的指令可参考: http://nginx.org/en/docs/http/ngx_http_proxy_module.html

0
0
查看评论

nginx的五种负载算法模式

nginx 负载均衡5种配置方式 1、轮询(默认)    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。   2、weight  指定轮询几率,weight和访问比率成正比,用于后端...
  • gzh0222
  • gzh0222
  • 2012-10-21 19:36
  • 11639

Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】

nginx 这个轻量级、高性能的 web server 主要可以干两件事情:   〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持);   〉另外一个功能就是作为反向代理服务器实现负载均衡   以下我们就来举例说明如何使用 nginx 实现负载均衡。因为n...
  • u014749862
  • u014749862
  • 2016-01-15 10:50
  • 52462

浅谈Nginx负载均衡原理与实现

1 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。 2 测试环境 由于没有服务器,所以本次测试直接host指...
  • u012517198
  • u012517198
  • 2016-03-17 09:27
  • 12899

nginx 负载均衡算法

1、轮询 2、权值轮询 3、ip哈希 4、响应时间动态分配 5、URL哈希
  • yangkalaok
  • yangkalaok
  • 2015-12-09 09:18
  • 898

Nginx的负载均衡 - 整体架构

Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd   什么是负载均衡   我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务,这就是所谓的集群。 负载均衡服务器,就是用来把经过它的流量,按照某种方法...
  • zhangskd
  • zhangskd
  • 2015-12-12 23:30
  • 14973

nginx的五种负载均衡算法

1.轮询 其nginx.conf文件编写如下upstream test { server 172.25.40.1:80; servse 172.25.40.2:8080; }可选择是否用于后备’backup’ 轮询的方法是通过按照时间顺序将请求往不同的后端服务器发送,来缓解服务器的压力,如果后台...
  • parameter_
  • parameter_
  • 2017-07-19 22:19
  • 564

【Nginx】实现负载均衡的几种方式

要理解负载均衡,必须先搞清楚正向代理和反向代理。正向代理与反向代理【总结】注: 正向代理,代理的是用户。 反向代理,代理的是服务器 什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡...
  • qq_28602957
  • qq_28602957
  • 2017-03-12 11:59
  • 5088

nginx的五种负载算法

、fair(第三方)   掉了,则能自动剔除。(如果又存活了,能自动加进来吗?)     测试结果: [root@xxw conf]# for i in $(seq 10); do curl http://192.168.109.4 ...
  • chenyulancn
  • chenyulancn
  • 2017-04-26 15:01
  • 412

Nginx学习之十二-负载均衡-加权轮询策略剖析

本问介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理)。如果Nginx是以反向代理...
  • xiajun07061225
  • xiajun07061225
  • 2013-07-13 15:52
  • 37765

nginx实现请求转发

反向代理适用于很多场合,负载均衡是最普遍的用法。nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。nginx 反向代理官方文档: NGINX REVERSE PROXY当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 ngin...
  • tobacco5648
  • tobacco5648
  • 2016-04-08 20:35
  • 46509
    个人资料
    • 访问:1622727次
    • 积分:18219
    • 等级:
    • 排名:第615名
    • 原创:155篇
    • 转载:913篇
    • 译文:34篇
    • 评论:222条
    文章分类
    最新评论