第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 应答)
写流程之写入请求发送给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 请求(写完了)
3.4.2 读数据流程
相比写数据流程,读数据流程就简单得多;因为每台server中数据一致性都一样,所以随便访问哪台server读数据就行;没有写数据流程中请求转发、数据同步、成功通知这些步骤。
标签:请求,ack,流程,Zookeeper,读数据,发送,follower1,leader 来源: https://www.cnblogs.com/niuniu2022/p/16342431.html