Alligator 系列:心跳检测
1. 概述
在长连接系统中,客户端及服务器之间需要通过发送心跳包来感知对方的存活状态,一般来说,心跳包不承载业务信息,不过在一些场景中,会把当前服务的状态推送给对方。在 Alligator 系统中统一在客户端发送心跳包,服务器会检测当前连接的空闲时间(即多久未收到数据),若超过一定时间,则判定为连接断线。在客户端,会检测连接的空闲写时间,超过一定时间,则触发发送心跳包,同时对服务端的响应做计数,超时一定次数未收到心跳响应,则判定服务器下线,触发重连操作。在注册中心系统中,客户端发送的心跳包中,会带上当前客户端的负载信息(连接数或用户数),注册中心根据这些负载信息,可以实现流量的有效负载。

