微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第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读数据就行;没有写数据流程中请求转发、数据同步、成功通知这些步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐