UDP是面向非连接的一种协议,在发送数据前不会通过进行三次握手建立连接,UDP健康检查的实现过程如下:
当您配置UDP健康检查时,推荐使用配置页面默认的各项数值。
请您按照以下两种方法排查。
可能的原因:后端服务器回复的reply或port unreachable类型的ICMP消息未能在超时时间内到达健康检查的节点,导致健康检查结果不准确。
建议采取的措施:将超时时间调整为更大的值。
由于UDP健康检查的原理不同于其他健康检查,建议健康检查超时时间不要过小,否则后端服务器可能会反复上线或下线。
Linux系统下,请用以下命令检查ICMP消息速率的限制。
sysctl -q net.ipv4.icmp_ratelimit
默认值为:1000
sysctl -q net.ipv4.icmp_ratemask
默认值为:6168
请确认第一条命令返回值为默认值或0,并用以下命令放开port unreachable消息产生的速率限制。
sysctl -w net.ipv4.icmp_ratemask=6160
更详细的信息请参考Linux Programmer's Manual相关页面:
man 7 icmp
或者访问地址:http://man7.org/linux/man-pages/man7/icmp.7.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905
放开port unreachable类型ICMP消息的速率限制,会让暴露在公网上的服务器在端口扫描时,不受限制次数地产生port unreachable消息。
使用UDP协议注意以下事项:
用户登录后端云服务器,以root权限执行以下命令:
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
若返回值为1,表示ICMP协议关闭;若为0,则表示开启。
如果后端服务器是Linux服务器,在大并发场景下,由于Linux的防ICMP攻击保护机制,会限制服务器发送ICMP的速度。此时,即便服务器已经出现异常,但由于无法向前端返回“port XX unreachable”报错信息,会导致负载均衡由于没收到 ICMP 应答进而判定健康检查成功,最终导致服务真实状态与健康检查不一致。
} 查询文档 ID 为 1 的文档是否存在。 只判断文档是否存在 ,Head 返回的信息更...
欢迎使用阿里云开发者工具套件(Alibaba Cloud SDK for Java)。Alibaba Cloud S...
总述 如需要通过分项目进行财务核算等,请先阅读以下内容: 集群无项目属性, 集...
ETL工具用于将异构数据转换为同类数据,然后由数据科学家用于从数据中获得有价值...
浦东、闵行、宝山、嘉定是上海新能源汽车分布最多的4个区域 上海私用新能源车工...
我们知道效能提升 就是要应用系统方法实践和工具 通过它们改进技术、工程能力和...
一,触发器结构 二,简单地电位控制触发器 1,与非门构成的基本R-S触发器 2,或...
随着市场经济在互联网中的快速蔓延,传统的虚拟主机已经不能满足大部分企业的需...
调用DescribeInstanceStatus获取多台ECS实例的状态信息。 接口说明 ECS实例的生...
一、自我介绍 我是来自上海某高校的服务器小白,暂且称呼我为小C吧...就读软件工...