《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(4)

简介: 《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(4)

《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(3) https://developer.aliyun.com/article/1230705?groupCode=supportservice



3. 健康检查

 

image.png

 

健康检查是CLB集群对后端进行一个探测,多台ECS同时提供一个服务,通过健康检查可以追踪的故障服务,避免了后端ECS异常对总体服务的影响。

 

健康检查可以感知到后端ECS的可用性

探测源均是承载业务的转发集群

探测源IP段为100.64.0.0/10

 

1) TCP监听

 

image.png

 

CLB向后端发起一个TCP三次握手,后端响应完成,以RST方式断开连接。

 

请求方式:TCP三次握手或HTTP GET;

判定成功逻辑:超时时间内收到了SYN_ACK;

判定失败逻辑:超时时间内未收到SYN_ACK;

关闭连接方式:发送RST数据包

 

问题一:为什么选择RST方式而不是四次挥手断开连接?

因为健康检查是用CLB额外引入的逻辑,对后端ECS具有一定的负担,为了尽可能地减少健康检查的开销,采用了RST方式,只需要单向的一个包就可以立即断开,断开后两端的机器系统内核都不再去维护TCP五元组连接的管理。

 

问题二:使用RST可能带来哪些问题?

RST在TCP/IP定义里属于非正常的链接结束逻辑,在某些程序比如java程序会频繁提示“connection reset by peer”,只要确定探测源是100.64.0.0/10,就可以认为这是健康检查探测的逻辑,可以忽略该异常信息。

 

2) UDP监听

 

image.png

 

UDP是面向无连接的协议,一般用于如DNS、syslog协议场景,UDP监听的规则是发出报文,在规定时间内,收到差错报文回应表示失败,未收到报文表示成功(也可以设置为返回特定字符串来判定成功)。

 

请求方式:UDP报文;

判定成功逻辑:超时时间内没有收到ICMP端口不可达报文;

判定失败逻辑:超时时间内收到了ICMP端口不可达报文

 

3) HTTP(S)监听

 

image.png

 

请求方式:HTTP GET方法或HEAD方法,可能包含Host头,默认使用HEAD方法(尽可能地降低健康检查给后端ECS带来的影响,HEAD方式只返回响应头部字节数,开销也比较小);

判定成功逻辑:超时时间内收到了配置的预期状态码(如200);

判定失败逻辑:除上述以外的情况(如收到了502状态码、收到了RST、建连失败等)

 

4) 滞后性和探测频率

 

image.png

 

滞后性:如果机器出现故障时,CLB需要一定的时间才能感应到;

探测频率:探测频率会根据CLB转发机器数量而倍增,需要在灵敏性和业务可容忍的范围内,适当设定该频率



《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(5) https://developer.aliyun.com/article/1230701?groupCode=supportservice

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
9月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
7月前
|
前端开发 JavaScript 关系型数据库
如何开发生产小工单中的产品管理板块(附架构图+流程图+代码参考)
生产小工单中的产品管理板块是制造业数字化管理的关键环节,涵盖产品信息、生产工序、产品列表和基础设置四大功能模块。通过系统化管理,企业可实现对产品属性、工艺流程及资源配置的精准控制,提升生产效率并减少误差与浪费。本文详解了各功能模块的设计逻辑、业务流程及开发实现方案,并提供示例代码,助力企业构建高效、灵活的产品管理系统。
|
5月前
|
Java API 开发工具
灵码产品演示:软件工程架构分析
本演示展示灵码对复杂软件项目的架构分析与文档生成能力。通过Qwen3模型,结合PlantUML,自动生成系统架构图、微服务时序图,并提取API接口文档,实现高效、智能的代码理解与文档输出。
328 6
|
7月前
|
前端开发 NoSQL 关系型数据库
如何开发CRM系统中的产品管理板块(附架构图+流程图+代码参考)
本文深入解析了CRM系统中产品管理模块的设计与实现,涵盖系统架构、业务流程、核心代码及落地建议,助力企业构建高效的产品管理体系。
|
7月前
|
人工智能 自然语言处理 供应链
AI时代企业难以明确大模型价值,AI产品经理如何绘制一张‘看得懂、讲得通、落得下’的AI产品架构图解决这一问题?
本文产品专家系统阐述了AI产品经理如何绘制高效实用的AI产品架构图。从明确企业六大职能切入,通过三层架构设计实现技术到业务的精准转译。重点解析了各职能模块的AI应用场景、通用场景及核心底层能力,并强调建立"需求-反馈"闭环机制。AI产品专家三桥君为AI产品经理提供了将大模型能力转化为商业价值的系统方法论,助力企业实现AI技术的业务落地与价值最大化。
378 0
|
10月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
12月前
|
安全 数据挖掘 BI
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
417 0
|
9月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
293 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
339 2

热门文章

最新文章

相关产品

  • 负载均衡