ZAB消息广播协议
2018-05-28 01:36:54 13 举报
ZAB 消息广播
作者其他创作
大纲/内容
由于ZAB协议需要保证每一个消息严格的因果关系,因此必须将每一个事务Proposal按照其ZXID的先后顺序来进行排序和处理
Client发出请求
写入成功向Leader返回一个Ask响应
消息广播:整个消息广播协议基于具有FIFO特性的TCP协议来进行网络通讯,因此能够很容易的保证消息广播过程中消息接收和发送的顺序性
Leader根据请求生成事务Proposal
将事务发送给集群中其他的所有机器
为这个事务Proposal分配一个全局单调递增的ID,及ZXID
Follower接收到Commint消息也会完成事务的提交
同时Leader自身会完成事务的提交
是
Ask响应
否
是否写入
是否收到过半选票
客户端请求
在消息广播的过程中,Leader为每一个Follower分配一个单独的队列,让后将要广播的事务Proposal此次放入这些队列中,并且根据FIFO策略进行消息发送。
Leader接收客户端请求
Follower接收到事务Proposal,首先会以事务日志的形式写入到本地磁盘中
不做处理
广播一条Commit消息给所有的Follower服务器,通知其做事务提交
Leader接收ASK响应
写入失败
0 条评论
下一页