vrrp实例script和 real_server中的HTTP_GET健康检查区别,使用场景总结

Keepalived核心健康检查:VRRP Script & HTTP_GET

在Keepalived高可用集群部署中,健康检查是保障服务连续性的核心机制。其中VRRP实例的script脚本检查与real_server的HTTP_GET检查是最常用的两种方式。

一、核心差异:从检测对象到作用机制

1. 检测维度:节点级 vs 服务级

  • VRRP Script:聚焦整个Keepalived节点的健康状态,检测范围涵盖节点可达性、系统级服务(如Nginx/HAProxy进程存活)、硬件资源等全局状态。
  • HTTP_GET:聚焦单个后端真实服务器(RealServer)的应用层健康状态,仅检测指定HTTP服务的可用性,不关心节点整体状态。

2. 作用机制:优先级调整 vs 负载池剔除

  • VRRP Script:通过weight参数影响节点优先级。脚本执行失败时,节点优先级会相应降低(通常配置为负数权重),当优先级低于备用节点时,触发VIP主备切换。
  • HTTP_GET:检测失败时,仅将当前RealServer从负载均衡池中移除,不影响Keepalived节点的主备角色,其他健康后端仍可正常承接请求。

3. 配置位置:全局独立配置 vs 实例内配置

  • VRRP Script:需在global_defs外单独定义vrrp_script块,通过track_script在VRRP实例中引用,支持自定义脚本逻辑。
  • HTTP_GET:直接嵌套在real_server配置块内,仅针对当前后端服务生效,配置更轻量化。

二、配置实战

1. VRRP Script配置(节点级检测)

适用于检测Nginx/HAProxy等反向代理服务的存活状态,确保节点故障时自动切换:

# 定义检测脚本 vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" # 自定义脚本路径 interval 1 # 检测间隔1秒 weight -30 # 失败时优先级降低30 fall 3 # 连续3次失败判定异常 rise 2 # 连续2次成功判定恢复 } # 在VRRP实例中引用 vrrp_instance VI_1 { state MASTER interface ens37 virtual_router_id 50 priority 100 track_script { chk_nginx # 关联检测脚本 } # 其他配置(认证、VIP等) }

配套脚本check_nginx.sh核心逻辑:

#!/bin/bash# 检查Nginx进程是否存在nginx_count=$(ps-C nginx --no-header|wc-l)if[$nginx_count-eq0];thensystemctl start nginx# 尝试重启sleep2if[$(ps-C nginx --no-header|wc-l)-eq0];thensystemctl stop keepalived# 重启失败触发切换fifi

2. HTTP_GET配置(服务级检测)

适用于检测后端Web服务可用性,确保故障服务不承接请求:

virtual_server 10.0.0.100 80 { lb_algo rr lb_kind DR protocol TCP # 后端真实服务器配置 real_server 10.0.0.14 80 { HTTP_GET { url { path / # 检测路径 status_code 200 # 期望响应码 } connect_timeout 3 # 连接超时3秒 nb_get_retry 3 # 重试3次 delay_before_retry 1 # 重试间隔1秒 } } }

三、适用场景

1. 优先用VRRP Script的场景

  • 核心反向代理节点的高可用(如Nginx/HAProxy集群),需节点级故障切换。
  • 检测系统级资源(如磁盘空间、内存使用率),避免节点因资源耗尽影响服务。
  • 需要自定义复杂检测逻辑(如结合日志分析、多服务联动检测)。

2. 优先用HTTP_GET的场景

  • 后端多RealServer负载均衡,需精准剔除单个故障服务。
  • Web服务健康检测(如接口可用性、页面完整性),需应用层状态验证。
  • 无需节点切换,仅需负载池动态调整的场景(如微服务集群后端)。

3. 组合使用场景

在高可用负载均衡架构中,可同时配置两种检查:

  • VRRP Script保障反向代理节点存活,实现节点级切换。
  • HTTP_GET保障后端RealServer健康,实现服务级故障隔离。
    这种组合既能避免节点单点故障,又能精准过滤异常后端,大幅提升集群稳定性。

四、关键注意事项

  1. VRRP Script的weight值需合理配置,确保优先级差值能触发切换(如主节点优先级100,备用节点90,脚本权重-30)。
  2. HTTP_GET不支持复杂逻辑,若需检测HTTPS服务,可改用SSL_GET配置。
  3. 避免过度检测:VRRP Script间隔建议≥1秒,HTTP_GET重试次数≤3次,防止占用过多资源。
  4. 脚本执行权限:VRRP Script默认以root用户执行,自定义脚本需确保可执行权限(chmod +x)。

总结

VRRP Script和HTTP_GET虽同为健康检查机制,但定位截然不同:前者守护Keepalived节点可用性,后者保障后端服务可用性。实际部署中,需根据集群架构分层配置——节点级故障用VRRP Script触发切换,服务级故障用HTTP_GET剔除异常,二者协同构建多层次高可用防护体系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1160274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

aa---(9)

41.PetsThe cat.The dog.The bunny.The bird.The goldfish.The mouse.The turtle.The hamster(仓鼠).42.Picking ApplesFocus QuestionWhat can you see when picking apples from trees?apples friends basket ladder farmer tractor(拖拉机)textThe farmer.The tractorThe t…

【课程设计/毕业设计】基于python-cnn深度学习的是否有污渍识别基于python-cnn的是否有污渍识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

乐迪信息:船舶AI逆行检测有效遏制水上交通违规

船舶AI逆行检测技术的核心在于对船舶航行轨迹的精准监测与分析。通过对船舶的定位数据进行实时采集,结合航道的地理信息,系统能够准确判断船舶是否偏离了规定的航道方向。这一技术的应用,使得水上交通管理部门能够及时发现并处理船舶逆行行为…

基于MATLAB/Simulink的Statcom静止无功补偿器仿真探秘

Statcom:基于MATLAB/Simulink的静止无功补偿器仿真模型,负载端加入断路器模拟断路故障。 仿真条件:MATLAB/Simulink R2015b在电力系统的研究与优化中,静止无功补偿器(Statcom)起着举足轻重的作用。今天咱们…

LVS Nginx反向代理高可用实践

Nginx Keepalived 高可用反向代理 一、 整体架构与技术原理介绍 1.1 架构设计理念 本架构是中小型业务系统高可用反向代理的经典方案,核心目标是实现 无单点故障 的反向代理层。通过 Nginx 实现后端服务的负载均衡,通过 Keepalived 基于 VRRP 协议实现主…

Flutter---时间核心类

DateTime - 基础时间类// 创建 DateTime 对象 DateTime now DateTime.now(); // 当前时间 DateTime specific DateTime(2024, 1, 15); // 指定日期 (年,月,日) DateTime detailed DateTime(2024, 1, 15, 10, 30); // 指定日期时间 (年,月,日,时,分…

matlab/simulink三相四桥臂逆变器仿真模型 采用的是电压外环电流内环控制策略,交流...

matlab/simulink三相四桥臂逆变器仿真模型 采用的是电压外环电流内环控制策略,交流测可以接不平衡负载,在负载不平衡的情况下依然可以保持输出电压对称。 直流侧输入电压范围450V~2000V均可。 交流测输出电压为380/220V,不平衡负载和平衡负载…

C#源码 上位机 SECS协议,里面包含各种进制转换,用于半导体行业,程序全源码

C#源码 上位机 SECS协议,里面包含各种进制转换,用于半导体行业,程序全源码概述 HSMS(High-Speed SECS Message Services)协议是半导体行业中设备与主机系统之间通信的重要标准。本项目实现了一个完整的HSMS协议通信库…

‌别再用Jenkins了!GitLab CI+AI测试,才是中大型企业的标配‌

测试自动化的变革浪潮 在数字化转型加速的2026年,软件测试从业者正面临前所未有的挑战:传统工具如Jenkins已难以应对中大型企业的复杂需求。Jenkins作为老牌CI/CD工具,虽曾主导市场,但其配置繁琐、维护成本高、集成能力弱等问题日…

aa---(6)

26.My EasterFocus QuestionWhat does the girl do on Easter?basket Easter(复活节) candy eggs dress familytextMy dress.My hat.My basket.My eggs.My candy.My flowers.My family.My Easter.ConnectionsEaster is a holiday.What are other holidays?Make a l…

最优控制和轨迹规划学习笔记 包含多个实际案例 倒立摆上翻控制 满足车辆运动学约束的路径规划 离...

最优控制和轨迹规划学习笔记 包含多个实际案例 倒立摆上翻控制 满足车辆运动学约束的路径规划 离散点参考线优化 lattice横向距离规划 这段代码包含了三个程序,我们将分别对它们进行详细的分析。1. 最速降线问题求解这个程序的主要功能是通过优化算法求解最速降线问…

狂奔不死机:电鱼智能 RK3588 B2B 版应对足式机器人高频振动挑战

什么是 电鱼智能 RK3588 B2B 版?电鱼智能 RK3588 B2B 版 是专为高动态机器人场景定制的旗舰核心板。它放弃了电脑内存条式的金手指插拔设计,改用底部集成的 4 组高密度工业级 B2B 连接器(如 Panasonic 或 Hirose 0.5mm 间距系列)。…

Labview Modbus - Tcp:PLC通讯的万能利器

Labview Modbus-Tcp和西门子全糸列pLC通讯所有数据类型均能读写,速度快,使用在多个项目上,运行稳定,可以扩展到其它品牌PLc,上位机程序一样,只是PLC程序稍微变动一下,上下位机源码全提供&#…

‌测试覆盖率85%?真正高质团队都在看“AI预测风险热力图”‌

测试覆盖率的迷思与AI时代的变革 在软件测试领域,85%的测试覆盖率曾被视为“黄金标准”——一个象征质量的门槛。团队们为此孜孜不倦,编写海量测试用例,力求覆盖每一行代码。但2026年的今天,我们不得不反思:这真的够了…

西门子S7-200PLC与MCGS组态联动下的污水处理智能控制设计

西门子S7_200PLC和MCGS组态的污水处理控制设计老铁们今天咱们唠点实在的工业自动化应用,污水处理厂里那套S7-200和MCGS组态配合的骚操作。这玩意儿可不是课本上那些理论,是实打实在某县污水处理站跑了两年的成熟方案。先说核心控制逻辑,五个污…

中小学午休课桌椅新国标之外的“安全风险”:校金刚的产品设计更有优势

引言: 虽然在《学校课桌椅功能尺寸及技术要求》(GB/T 3976-2014)国家标准中,将学生课桌椅分为0-10号,覆盖了从小学到高中的身高需求;《中小学生午休课桌椅通用技术要求》(GB/T 46016—2025&…

含可再生能源的配电网最佳空调负荷优化控制Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

防火墙双机热备01(主备模式)

知识背景 VRRP是通用的、标准的三层冗余协议;HRP是华为防火墙专用的、深度的状态与配置同步协议。 防火墙使用VRRP是基础,但仅靠VRRP无法实现真正的业务不中断。 VRRP的定位与局限(在防火墙场景下) VRRP是一个网络层协议&#xf…

电力电子工程师简历优化指南:从“简历泥潭”到入职邀约,只需三招

为什么你的技术简历总石沉大海?痛点切入:据技术招聘平台数据,超过 68% 的电力电子工程师简历,在招聘方初筛时的停留时间不足 15 秒。这些简历普遍存在“技术堆砌、成果模糊、价值迷失”的泥潭,如同一位只会展示所有扳手…

基于CarSim和Matlab的ABS模糊控制仿真研究

基于CarSim和Matlab的汽车ABS模糊控制联合仿真研究 内容:基于Carsim和Simulink的联合仿真。 为避免车辆在高速行驶时车轮发生抱死现象,设计了一种ABS模糊控制防抱死策略,与逻辑门限值控制作对比,在高附着系数、低附着系数、对开路…