1 个回答
Zab 协议包括两种基本的模式:崩溃恢复和消息广播
1、消息广播:
1、消息广播:
1、在zookeeper集群中,数据副本的传递策略就是采用消息广播模式。zookeeper中数据副本的同步方式与二段提交相似,但是却又不同。二段提交要求协调者必须等到所有的参与者全部反馈ACK确认消息后,再发送commit消息。要求所有的参与者要么全部成功,要么全部失败。二段提交会产生严重的阻塞问题。
2、Zab协议中 Leader 等待 Follower 的ACK反馈消息是指只要半数以上的Follower成功反馈即可,不需要收到全部Follower反馈。
2、崩溃恢复:1、崩溃恢复的主要任务就是选举Leader(Leader Election),一旦 Leader 服务器出现崩溃或者由于网络原因导致 Leader 服务器失去了与过半 Follower 的联系,那么就会进入崩溃恢复模式。
2、Leader 在复制数据给所有 Follwer 之后崩溃,怎么办?Leader 在收到 Ack 并提交了自己,同时发送了部分 commit 出去之后崩溃怎么办?针对这些问题,ZAB 定义了 2 个原则:
1)ZAB 协议确保那些已经在 Leader 提交的事务最终会被所有服务器提交。
2)ZAB 协议确保丢弃那些只在 Leader 提出/复制,但没有提交的事务。
发布于:3个月前 (01-24) IP属地:四川省
我来回答
您需要 登录 后回答此问题!