前言:总以为轮询就简单的next而已,实际还有几种不同的实现机制。某个客户的源站有几个不同的IP,回源的时候自然是采用的轮询的机制。客户业务上线前,检查源站的联通性发现一个漏网之鱼竟然差点滥竽充数。然而客户的想法确是:先酱紫配着吧,你们轮询回源应该能踢掉不响应的源站吧。我:balabalabala.....(不能);客户:没事,先酱紫。不过你们的机制还得升级呀,容错性不高呀;我:???。。。

且看NGINX轮询机制的几种形式:(来自佚名作者的科普)

Nginx中upstream有以下几种方式:

1、轮询(weight=1)
默认选项,当weight不指定时,各服务器weight相同,
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream bakend {server 192.168.1.10;server 192.168.1.11;
}

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
如果后端服务器down掉,能自动剔除。
比如下面配置,则1.11服务器的访问量为1.10服务器的两倍。

upstream bakend {server 192.168.1.10 weight=1;server 192.168.1.11 weight=2;
}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。
如果后端服务器down掉,要手工down掉。

upstream resinserver{ip_hash;server 192.168.1.10:8080;server 192.168.1.11:8080;
}

4、fair(第三方插件)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream resinserver{server 192.168.1.10:8080;server 192.168.1.11:8080;fair;
}

5、url_hash(第三方插件)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器时比较有效。
在upstream中加入hash语句,hash_method是使用的hash算法

upstream resinserver{server 192.168.1.10:8080;server 192.168.1.11:8080;hash $request_uri;hash_method crc32;
}

设备的状态有:

  • down 表示单前的server暂时不参与负载
  • weight 权重,默认为1。 weight越大,负载的权重就越大。
  • max_fails 允许请求失败的次数默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误
  • fail_timeout max_fails次失败后,暂停的时间。
  • backup 备用服务器, 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

原文:https://www.cnblogs.com/liqiu/p/3140329.html

NGINX轮询机制的几种形式相关推荐

  1. 【状态保持】Cache 基于SQL 数据库 的缓存依赖 轮询机制详解

    首先声明一下如果您还不了解什么是Cache(缓存)请您先搜一下有关信息然后再看这篇文章. 当数据库中的信息发生变化的时候,应用程序能够获取变化的通知是缓存依赖得以实现的基础.应用程序可以通过两种途径获 ...

  2. (原创)Linux设备轮询机制分析

    一. 设备轮询机制的基本思想 所谓的设备轮询机制实际上就是利用网卡驱动程序提供的NAPI机制加快网卡处理数据包的速度,因为在大流量的网络环境当中,标准的网卡中断加上逐层的数据拷贝和系统调用会占用大量的 ...

  3. 码支付如何对接网站_第四方聚合支付特色之一的轮询机制是怎么防风控的?

    简单地说,聚合支付是融合了支付宝.微信支付.花呗.翼支付等多种支付方式的一种"包容性"支付工具.做支付系统一定不能脱离实际业务场景,更不能照搬其他公司方案. 做聚合支付的服务商越来 ...

  4. android全局轮询机制,Android轮询机制

    在消息的获取上是选择轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了.但如果只是一般的消息检测比如更新检查,可能是半个小时或一个小时一 ...

  5. Node中的事件轮询机制

    文章目录 2 node中的事件循环模型 2-1 一些属性 2-2 循环模型 node事件循环总共有==六个阶段== process.nextTick()函数 __实例__ 2 node中的事件循环模型 ...

  6. RocketMQ 消息消费 轮询机制 PullRequestHoldService

    1. 概述 先来看看 RocketMQ 消费过程中的轮询机制是啥.首先需要补充一点消费相关的前置知识. 1.1 消息消费方式 RocketMQ 支持多种消费方式,包括 Push 模式和 Pull 模式 ...

  7. 注意力机制的两种形式

    注意力机制的两种形式: 一.additive attention(tensorflow里面称为Bahdanau attention)        这种机制的定义引用了论文https://arxiv. ...

  8. MCDF中arbiter的轮询机制

    更新的MCDF的仲裁器采用的是Round Robin轮询的一个仲裁机制,简单来说就是最先被授权的通道在下一次仲裁中优先级会变为最低,这样可以保证每个通道都能够获得授权,而不是一个通道长时间连续的进行数 ...

  9. 轮询机制php,JS事件轮询机制讲解

    JS是单线程语言,深入理解JS里的Event Loop,本文主要和大家分享JS事件轮询机制,希望能帮助到大家. JS的执行机制(一): 1.首先判断JS是同步还是异步,同步就进入主进程,异步就进入ev ...

最新文章

  1. 如何定义中文转语音的语气
  2. 如何快速解决虚拟机中的CentOS7无法上网的方式
  3. linux boot菜单列表,Bootstrap 下拉菜单(Dropdowns)简介
  4. python无限循环语句的代码_如何在Python中实现非阻塞无限循环
  5. jmeter html测试脚本,Jenkins如何实现自动运行jmeter脚本并出具报告
  6. 制药企业BI系统方案整体设计分享
  7. 解决问题--java.lang.ClassNotFoundException -- redis抛出
  8. idea添加maven启动
  9. JVM内存模型及分区
  10. 如何用C语言编写小游戏让你的学习不在无聊——三子棋
  11. 【学习笔记 1】集成电路发展及其设计制造流程(ICer必备)
  12. python画鱼骨图_这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难...
  13. java web如何根据用户使用的浏览器来提示用户更新或更换浏览器
  14. iOS音乐播放器实现日记
  15. 【孵化器系列采访】创新工场:高端人才成功创业的聚集地
  16. 查询学生的学号、课程号和成绩,并按成绩升序排序
  17. android 高光动画,分享AirDroid高光时刻:它是如何使我高效工作和生活的?
  18. Android-APP隐私合规检测
  19. 凉凉夜色为你思念成河
  20. 成立 4 年估值 20 亿美金,这家国货美妆找到了新的人口红利

热门文章

  1. 通过requests库re库进行淘宝商品爬虫爬取(对中国大学mooc嵩天老师爬虫进行修改)
  2. 如何提高卷积神经网络模型的泛化能力
  3. Hoeffding不等式与泛化误差上界
  4. Jenkins更换插件下载源(清华源)
  5. python制作表白神器_用Python个女神做一个表白神器
  6. SAP接口的几个注意事项
  7. jQuery获取下拉菜单列表的值
  8. 手头有65万,想在广州买房,买南沙好还是黄埔好?
  9. 在二维数组中查找一个数字
  10. Lodop插件中的StartPrint方法的用法,备忘