zookeeper的读和写数据流程(有图欧)
发布日期:2021-07-27 04:52:57 浏览次数:5 分类:技术文章

本文共 662 字,大约阅读时间需要 2 分钟。

须知

Zookeeper中Leader和Follower的作用:

Leader:负责进行投票的发起和决议,分布式读写,更新请求转发;

Follower:负责接收客户端请求并向客户端返回结果,在选举Leader过程中参与投票(选举机制);

一、写数据流程

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

在这里插入图片描述

(1)Client向Zookeeper的server1发送一个写请求,客户端写数据到服务器1上;

(2)如果server1不是Leader,那么server1会把接收到的写请求转发给Leader;然后Leader会将写请求转发给每个server;

server1和server2负责写数据,并且两个Follower的写入数据是一致的,保存相同的数据副本;

server1和server2写数据成功后,通知Leader;

(3)当Leader收到集群半数以上的节点写成功的消息后,说明该写操作执行成功;

eg:这里是3台服务器,只要2台Follower服务器写成功就ok

因为client访问的是server1,所以Leader会告知server1集群中数据写成功;

(4)被访问的server1进一步通知client数据写成功,这时,客户端就知道整个写操作成功了。

二、读数据流程

相比写数据流程,读数据流程就简单得多;因为每台server中数据一致性都一样,所以随便访问哪台server读数据就行;

没有写数据流程中请求转发、数据同步、成功通知这些步骤。

转载地址:https://blog.csdn.net/qq_45292079/article/details/106260584 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:bin/schematool -dbType mysql -initSchema HiveMetaException: Failed to get schema version.
下一篇:mysql之指定ip、用户、数据库权限

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年09月14日 18时10分03秒