关于高可用性 心跳检测的理解
心跳检测是一种能够提高系统可用性的措施
例如:服务端和客户端之间进行通讯,每隔5分钟进行一次心跳检测,检测和主站连接是否正常。客户端每5分钟发一个心跳检测数据帧,服务端接收到数据帧表示通过,否则表示客户端断开,抛出异常。
例如有一些通信软件长期不使用,要想了解它的状态是在线或是离线就需要心跳包,自动发包收包。发包方:可以是客户端也能够是服务端,看哪边实现方便就可以。-般是客户端,服务器端也能够发送心跳包。一般而言,源于效率的考虑,是由客户端主动地向服务端发包,而不是服务器向客户端发。客户端每过一定时间发--个包,使用TCP的,用send发,使用UDP的,使用sendto发,服务器接收到后,就明白目前客户端还处在“活着”的状态,否责,假如隔一定时间未接收到这样的包,则服务器认定客户端已断开,进行响应的客户端断开逻辑处理。