1.zab:定义
zookeeper atomic broadcast:广播协议。
2.数据一致性
采用2pc过半的方式来保证数据的一致性。如果要读取最新的数据需要我们在客户端使用sync()方法配合。
数据一致性的本质是什么?操作是原子的和事务的。可能会进行回退或者提交。强一致性。需要使用一个些钓者。
3.zab的协议内容
1.崩溃恢复
当master 发生崩溃的时候,会从follower中选举出master。其中新选举出来的master会持有最新的zxid.然后可以继续去发送commit命令。
2.原子广播。
2pc提交
4.zookeeper的节点状态
looking、observing、leading、following。
5.zookeeper的功能
1.命名服务、配置管理、集群管理、分布式锁。
6.zookeeper的节点节点、
持久性顺序节点、持久非顺序节点、临时顺序j节点、临时无序节点。
节点可以用来存储数据。分布式锁。
7.zookeeper 服务器实现两两连接
abcd四台服务器他们之间都有连接。可以保证在选举投票的时候能够把票给到其他的服务器。
8.zookeeper崩溃恢复数据同步的过程
在经过选举之后,会选举出来具有最大zxid的sid。如果zxid相同那么选举出 sid最大的那个。每一个sid都不相同。是集群中是唯一的。选举出最大的zxid 可以保证数据不丢失。
如果leader 发送proposal,并且在commit之前崩溃了,这样数据会丢失。