场景:
一台中心服务器,定时发送 keepalive 包给另外几台同类型的 application server 检测和对方的网络链接故障以及对方是否 DOWN 掉。检测不能太灵敏,导致误报,比如网络抖动导致的 keep alive 没有收到回应。也不能太迟钝,导致中心服务器不能及时把 DOWN 掉的app server上的负载移到其他 app server。
首先让 CHATGPT O3 写,要求 N 秒发送一个包,如果 M 秒内没有收到就计算为该包超时。连续 X 个包都没有收到回应就认为 DOWN 了。如果在 X 个包内收到任一回复,认为链接正常。
O3 给出了一个比较简单的基于 RTT, SRTT 的实现,把它的实现丢给 GEMINI 2.5 PRO, 它 REVIEW 之后,增加了 RTTVAR, 以及根据当前状态动态调整 N 的实现。
初步测试效果不错,正在丢给测试部门折腾。
--
FROM 218.76.62.*