心跳检测类结构图
2016-05-10 20:42:55 3 举报
心跳检测类结构图主要包含以下几个部分: 1. 心跳发送器:负责定期向服务器发送心跳信号,以保持与服务器的连接状态。 2. 心跳接收器:负责接收服务器返回的心跳响应,以判断连接是否正常。 3. 心跳超时处理:当心跳发送后在一定时间内未收到响应时,触发超时处理机制,如重发心跳或断开连接。 4. 心跳间隔设置:根据实际需求设置心跳发送的时间间隔,以平衡性能和连接稳定性。 5. 心跳日志记录:记录心跳发送和接收的相关日志,便于分析和排查问题。
作者其他创作
大纲/内容
DBHeartbeat
OK_STATUS = 1ERROR_STATUS = -1TIMEOUT_STATUS = -2INIT_STATUS = 0heartbeatTimeout 30sheartbeatRetry 切换重试次数 10次isStopisCheckingstatus
MySQLDataSource
PhysicalDBPool
一个分片下的所有数据源writeSourcesreadSourcesallDs
heartbeatCheckdoHeartbeatstartHeartbeatstopHeartbeatcheckIfNeedHeartBeat
NIOHandler
handle()
MySQLDetectorFactory
创建一个MySqlDetector 即后端链接
make
MySQLDetector
heartbeatuser、password、schema
heartbeat()onConnectFailed()authenticate() 心跳前进行登录认证
PhysicalDatasource
代表一个数据源conMap 一个数据源的所有连接heartbeat conHeartBeatHanlerhostConfigdoheartbeat mysqlheartbeat
heatBeatCheck() 检验conMap空闲链接
1对n
MySQLHeartbeat
对一个msyql实例进行检查detector 一个后端连接对象isChecking 标记一次检测是否完成
heartbeat()setResult()setError()setOK()setTimeout()start() isStop false
MySQLDetectorHandler
认证后 sql语句结果处理类
handleOkPacket() 会调用setResult
AbstractConnection
NioHandler handlerlastReadTimelastWriteTime
handle()setHandler()
ConnectionHeartBeatHandler
对现有连接的检查处理类allCons
doHeartBeat() 连接心跳检查
MySQLDetectorAuthenticator
MySQLDetector source认证结果的处理类
+ operation1(params):returnType- operation2(params)- operation3()
0 条评论
回复 删除
下一页