Zookeeper的写数据流程

Zookeeper是通过ZAB 协议保持数据的一致性的。

写数据流程:

1、Client向Zookeeper的Server1上写数据,发送一个写请求。

2、如果server1不是Leader,那么server1会把这个写请求转发给Leader,这个Leader会将写请求广播给各个server,各个server会将这个写请求加入代写队列,并发送给Leader成功信息。(当然也有可能是失败信息,这个时候有可能是请求的序列号比当前版本的序列号低,该server自杀重启,向Leader同步数据)

3、当Leader收到一半以上的server的成功信息,说明该写操作可以执行,Leader会向各个server发送提交信息,各个server收到信息后会落实队列里的写请求,此时写成功。

4、server1会进一步通知Client数据写成功了,此时就认为整个写操作成功。

猜你喜欢

转载自blog.csdn.net/QJQJLOVE/article/details/106985107