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