| 用途 | 选择并验证半开检测方案 |
|---|---|
| 对比 | 内核 Keep-Alive / 应用心跳 / 惰性探测 |
方式对比
| 方式 | 间隔可控性 | 流量可见性 |
|---|---|---|
| 内核 Keep-Alive | 系统级参数 | 周期小包 |
| 应用心跳 | 应用自定义 | 业务协议内 |
| 惰性探测 | 使用时触发 | 首包失败重试 |
验证
验证
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl
# 抓包确认心跳周期与老化时间的关系检测到半开后的恢复动作(重连)也要设计重试退避,避免风暴。
内核 Keep-Alive、应用层心跳、使用前探测三种方式各有代价:抓包可见心跳流量形态,设计时应让检测间隔小于中间设备老化时间。
| 用途 | 选择并验证半开检测方案 |
|---|---|
| 对比 | 内核 Keep-Alive / 应用心跳 / 惰性探测 |
| 方式 | 间隔可控性 | 流量可见性 |
|---|---|---|
| 内核 Keep-Alive | 系统级参数 | 周期小包 |
| 应用心跳 | 应用自定义 | 业务协议内 |
| 惰性探测 | 使用时触发 | 首包失败重试 |
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl
# 抓包确认心跳周期与老化时间的关系