详解Nginx 被动检查服务器的存活状态


Posted in Servers onOctober 16, 2021

介绍

通过发送定期健康检查来监控上游组中 HTTP 服务器的健康状况。Nginx 可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中。

被动健康检查

对于被动健康检查,Nginx 会在事务发生时对其进行监控,并尝试恢复失败的连接。如果事务仍然无法恢复,Nginx 将服务器标记为不可用并暂时停止向其发送请求,直到它再次标记为活动状态。

上游服务器标记为不可用的条件是通过上游块中服务器指令的参数为每个上游服务器定义的:

  • fail_timeout :设置要将服务器标记为不可用,必须进行多次失败尝试的时间,以及服务器标记为不可用的时间(默认值为10秒)。
  • max_fails :设置在 fail_timeout 期间必须发生的失败尝试次数,以便将服务器标记为不可用(默认值为1次尝试)。

在以下示例中,如果Nginx在30秒内3次未能向服务器发送请求或未收到来自服务器的响应,则会在30秒内将服务器标记为不可用:

upstream backend {
    server backend1.example.com;
    server backend2.example.com max_fails=3 fail_timeout=30s;
}

注意 :如果组中只有一台服务器,则会忽略fail_timeout和max_fails参数,并且服务器永远不会标记为不可用。

服务器慢启动

最近恢复的服务器很容易被连接淹没,这可能会导致服务器再次被标记为不可用。慢启动允许上游服务器在恢复或可用后逐渐从零恢复其权重到其标称值。这可以通过 slow_start 上游server指令的参数来完成:

upstream backend {
    server backend1.example.com slow_start=30s;
    server backend2.example.com;
    server 192.0.0.1 backup;
}

注意:如果组中只有一个服务器,slow_start 则忽略该参数并且该服务器永远不会标记为不可用。慢启动是 NGINX Plus(商业版) 独有的。

到此这篇关于Nginx 被动检查服务器的存活状态的文章就介绍到这了,更多相关Nginx检查服务器存活状态内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
解析在浏览器地址栏输入一个URL后发生了什么
Jun 21 Servers
Z-Order加速Hudi大规模数据集方案分析
Mar 31 Servers
CentOS7安装GlusterFS集群以及相关配置
Apr 12 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
nginx容器方式反向代理实战
Apr 18 Servers
Nginx限流和黑名单配置
May 20 Servers
利用nginx搭建RTMP视频点播、直播、HLS服务器
May 25 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 Servers
Flink 侧流输出源码示例解析
Sep 23 Servers
keepalived + nginx 实现高可用方案
Dec 24 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 #Servers
Nginx进程调度问题详解
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 #Servers
关于nginx 实现jira反向代理的问题
Windows下用Nginx配置https服务器及反向代理的问题
Sep 25 #Servers
nginx安装以及配置的详细过程记录
Sep 15 #Servers
Nginx缓存设置案例详解
Sep 15 #Servers
You might like
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
IE8 原生JSON支持
2009/04/13 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
图解Python变量与赋值
2018/04/03 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python实现批量命名照片
2020/06/18 Python
Python将字典转换为XML的方法
2020/08/01 Python
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
父母对孩子的寄语
2014/04/09 职场文书
大学生村官演讲稿
2014/04/25 职场文书
教师考核材料
2014/05/21 职场文书
感恩教育观后感
2015/06/17 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android
MySQL 数据库范式化设计理论
2022/04/22 MySQL
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python