其他分享
首页 > 其他分享> > 第3章 Zookeeper 客户端向服务端写数据流程 读数据流程

第3章 Zookeeper 客户端向服务端写数据流程 读数据流程

作者:互联网

3.4 客户端向服务端写数据流程/读数据

3.4.1写数据流程

以3台服务器的Zookeeper集群为例,一个Leader,两个Follower即server1和server2

写流程之写入请求直接发送给Leader节点

	1.Client 先发送给 leader write 请求(写数据)

	2.leader 开始给 follower1 发送 writer 请求(开始写数据)

	3.follower1 给 leader ack 回复(写完了)

	4.leader 给 Client ack 回复(写完了)

	5.leader 也会继续给 follower2 发送 writer 请求同步更新(开始写数据)

	6.follower2 给 leader ack 回复(写完了) (优点是效率高,只要有半数的节点写完就给 Client 应答)
image-20220604182719928

写流程之写入请求发送给follower节点

	1.Client 先给 follower1 发送 writer 请求(写数据)

	2.follower1 给 leader 发送 writer 请求(写数据)

	3.leader 给 follower1 发送 writer 请求(开始写数据)

	4.follower1 给 leader 发送 ack 请求(写完了)

	5.leader 给 follower1 发送 ack 请求(可以告诉Client写完了)

	6.follower1 给 Client 发送 ack 请求(写完了)

	7.leader 继续给 follower2 发送 write 请求(开始写数据)

	8.follower2 给 leader 发送 ack 请求(写完了)
image-20220604182820466

3.4.2 读数据流程

相比写数据流程,读数据流程就简单得多;因为每台server中数据一致性都一样,所以随便访问哪台server读数据就行;没有写数据流程中请求转发、数据同步、成功通知这些步骤。

标签:请求,ack,流程,Zookeeper,读数据,发送,follower1,leader
来源: https://www.cnblogs.com/niuniu2022/p/16342431.html