1.CAP 原则
2.BASE理论
3.Paxos算法
4.ZAB协议(崩溃恢复、原子广播)
整个 ZAB 协议一共定义了三个阶段: 发现:要求 ZooKeeper 集群必须选举出一个 Leader,同时 Leader 会维护一个 Follower 可用列表。将来客户端可以和这些 Follower 节点进行通信。 同步:Leader 要负责将本身的数据与 Follower 完成同步,做到多副本存储。这样便体现了 CAP 中的一致性和分区容错。Follower 将队列中未处理完的请求消费完成后,写入本地事务日志中。 广播:Leader 可以接受客户端新的事务 Proposal 请求,将新的 Proposal 请求广播给所有的 Follower。 三个阶段执行完为一个周期,在 ZooKeeper 集群的整个生命周期中,这三个阶段会不断进行,如果 Leader 崩溃或因其它原因导致 Leader 缺失,ZAB 协议会再次进入阶段一。