集群间通信的消息类型

1. 数据同步型

消息类型 发送方-->接收方 说明
DIFF,13 Leader-->learner 通知Learner服务器,leader即将与其进行DIFF方式的数据同步
TRUNC,14 Leader-->learner 触发Learner进行内存数据库的回滚操作
SNAP,15 Leader-->learner leader即将与其进行”全量“数据同步
UPTODATE,12 Leader-->learner 告诉Learner服务器已经完成了数据同步,可以开始对外提供服务了

2. 服务器初始化型

消息类型 发送方-->接收方 说明
OBSERCERINFO,16 Observer-->Leader Observer在启动时发给Leader注册自己,消息中包含SID和自己已处理的最新ZXID
FOLLOWERINFO,11 Follower-->Leader Followerr在启动时发给Leader注册自己,消息中包含SID和自己已处理的最新ZXID
LEADERINFO,17 Leader-->Learner Learner连上leader后,leader发送leaderinfo,包含最新的EPOCH值
ACKEPOCH,18 Learner-->Leader Learner在收到LEADERINFO后,将自己最新的ZXID和EPOCH发给leader
NEWLEADER,19 Leader-->Learner 数据同步时,Leader向Learner发送一个阶段性的标识信息

3. 请求处理型

消息类型 发送方-->接收方 说明
REQUEST,1 Learner-->Leader follower将事务请求已REQUEST协议形式转发给Leader进行处理
PROPOSAL,2 Leader-->Follower leader将事务请求以PROPOSAL消息形式发给所有Follower进行事务日志的记录
ACK,3 Follower-->Leader Follower记录完事务日志后,将ACK反馈给Leader
COMMIT,4 Leader-->Follower leader告知所有Follower进行事务提交
INFORM,8 Leader-->Observer 在commit阶段,Leader值需要发送一个COMMIT消息,Follower就可根据已有的事务日志完成提交了;但是对于Observer则需要发送完整的消息
SYNC,7 Leader-->Learner 用于通知Learner已经完成了Sync操作

4. 会话管理型

消息类型 发送方-->接收方 说明
PING,5 Leader-->Learner Leader定期向Learner发送PING请求,Learner将自己连接的客户端列表发送给Leader,由Leader逐个对这些客户端进行激活
REVALIDATE,6 Learner-->Leader 客户端重连过程中,新的服务器需要向Leader发送改消息确认会话是否已超时
原文地址:https://www.cnblogs.com/Desneo/p/7611092.html