1、轮询(默认) 应用程序轮流来响应请求
2、最少连接(least-conn)    请求被分配到活动连接最少的服务器上
3、ip-hash    通过一个hash函数决定哪个服务器来响应用户的请求(依据客户端的请求ip)
4、权重配置(weight)
5、手动宕机与备份主机(down,backup)
6、fair(第三方) 响应时间方式
7、url_hash(第三方) 依据URL分配方式

注意:backup不能和ip_hash一起使用
1、默认的负载均衡方式是轮询,所用的请求通过反向代理给了myapp1组,nginx通过负载均衡来分发这些请求到三个服务上;在nginx中HTTP, HTTPS, FastCGI, uwsgi, SCGI, and memcached 的负载均衡都是通过反向代理实现的。
A.要配置https的负载均衡只需要将http协议改https就可以了,其他位置不变;
B.要实现FastCGI, uwsgi, SCGI, memcached的负载均衡可以分别使用 fastcgi_pass, uwsgi_pass,
scgi_pass, and memcached_pass指令;
2、在“请求需要更长的时间来完成”的场景下采用“最少连接”方式可以更公平的将负载分配到多个机器上面。使用“最少连接”后,nginx不会将请求分发到繁忙的机器上面,而且将请求分发的较清闲的机器上面。
“最少连接”的配置:在upstream{}中添加least-conn;
3、“轮询”和“最少连接”这两种负载均衡方式会将新的请求分发到不同的机器上,很难保证每个客户端会固定访问某一个服务器。如果需要某个客户端只访问访问固定的一个服务器可以通过ip-hash负载均衡方式实现。
ip-hash实现原理: 使用ip-hash时,客户端的ip作为一个散列的Key来决定服务器组中哪个服务器来响应请求,这种方式可以保证每个客户端每次访问的都是同一个服务器。
"ip-hash"的配置:在upstream{}中添加ip_hash;
4、服务器权重值越大,nginx将把更多的请求发送给该服务器。
"权重"的配置:在upstream{}中添加weight;
5、配置手动的宕机、备份主机
down:表示该主机不参与服务;
backup:表示该主机正常访问中不使用,如果所有的主机性能都不够的时候自动启动该配置项;
“手动宕机、备份主机”的配置:在upstream{}中添加down、backup;
6、按照服务器端的响应时间来分配请求,响应时间短的优先分配。
7、按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取。

服务器的健康检查:max_fails 与 fail_timeout
如果某个请求被分配到了一个服务器上,服务器无法响应,那么nginx会标记它失败了,在短时间内,nginx是不会将之后的请求分配给标记失败的服务器。
max_fails指令可以设置最大失败次数,默认是1。
fail_timeout指定响应时间超过多少秒就将服务器标记为失败。

转载于:https://www.cnblogs.com/rinack/p/9717603.html

nginx负载均衡的策略相关推荐

  1. Nginx负载均衡配置策略

    转自:http://www.freeoa.net/osuport/cluster/nginx-load-equilibrium-configuration-strategy_1652.html Ngi ...

  2. Nginx负载均衡+转发策略

    负载均衡 负载均衡(详解)https://cloud.tencent.com/developer/article/1526664 --示例1upstream www_server_pool { ser ...

  3. 解析nginx负载均衡

    摘要:对于一个大型网站来说,负载均衡是永恒的话题.随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP.Citrix NetScaler.Radware等等,虽然可以解决问 ...

  4. Nginx负载均衡策略介绍

    负载均衡策略 介绍完Nginx负载均衡的相关指令后,我们已经能实现将用户的请求分发到不同的服务器上,那么除了采用默认的分配方式以外,我们还能采用什么样的负载算法? Nginx的upstream支持如下 ...

  5. Nginx负载均衡策略之fair介绍

    fair fair采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小.加载时间长短智能的进行负载均衡.那么如何使用第三方模块的fair负载均衡策略. upstream backend{f ...

  6. Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点

    Nginx负载均衡的配置,常用策略,场景,以及特点,放到这里是需要更细化的讲解,毕竟一期还没有做集群,而我们这一期做集群的时候,很多点要单独拿出来深入讲解,第一个轮询,默认的一个配置,简单也好理解,第 ...

  7. nginx负载均衡的5种策略

    nginx负载均衡的5种策略 nginx负载均衡 发布于 2018-04-19 要理解负载均衡,必须先搞清楚正向代理和反向代理. 负载均衡的几种常用方式 1.轮询(默认) 每个请求按时间顺序逐一分配到 ...

  8. 1,Nginx负载均衡策略upstream,六种策略

    upstream提供负载均衡功能,支持6种负载分配方式,默认是轮询分配方式 负载均衡作用 转发功能 故障转移 恢复添加 工作流程 分析客户端请求,构建调用服务器 调用ngx_http_upstream ...

  9. Nginx系列之负载均衡算法策略

    负载均衡实际上是一种网络技术,主要是基于现有的网络结构,增加吞吐量.加强网络数据处理能力.提高应用系统的灵活和可用性.利用Nginx可实现负载均衡,Nginx支持加权Round-Robin负载均衡算法 ...

最新文章

  1. 干掉 FastJson
  2. Open Images冠军,商汤提出解偶检测分支新方法TSD并入选CVPR 2020
  3. java 不写this_JAVAthis使用的那些事儿
  4. Altium Designer类的使用
  5. vim8支持的linux版本,Vim 8.0 版本安装方法及添加Python支持
  6. MAC打开EXE文件的三大方法
  7. mysql+keepalived必须要lvs吗_Mysql双主热备+LVS+Keepalived高可用操作记录
  8. mysql heartbeat lvs_CentOS 6.3 Mysql+heartbeat+drbd+LVS 的安装和配置(2)
  9. WZ132发现打CXY要么是程序员,要么是丑小鸭
  10. git 代理 git_生日快乐,Git
  11. ps修改dds贴图_ZBrush建模师教你zbrush与Photoshop绘制人脸贴图,听仔细了哈
  12. 手机团购,团购市场的下一引爆点
  13. 基于51单片机的金沙滩12864的计算器
  14. JavaScript判断日期时间差的实例代码
  15. java数据类型 枚举_枚举(enum)属于原始数据类型(primitive typ
  16. win10打开Android模拟器后电脑重启问题
  17. bzoj1127 [POI2008]KUP
  18. 腾讯云个人账号如何多开注册8个新用户账号
  19. 【SCNU课堂笔记】计划任务、进程管理、Linux启动流程(未完待续)
  20. macos sierra_如何在macOS Sierra上使用APFS文件系统格式化驱动器

热门文章

  1. vCenter6.0配置二:配置HA群集
  2. Community Server页面布局
  3. springweb拦截器
  4. 用Ant实现Java项目的自动构建和部署
  5. animateWithDuration:animations:completion:
  6. DroidPilot V2.1 手写功能特别版
  7. Trigger4Orchard
  8. sql查table,VIEW,sp, function 及 trigger 物件
  9. mac电脑安装python_【mac电脑怎么安装python】mac版python安装教程
  10. DB2数据库V8.2版本远程连接方法