标签:请求 ack 流程 Zookeeper 读数据 发送 follower1 leader
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。