一、写数据流程
1. Client
向
Zookeeper
的
server1
上写数据,发送⼀个写请求
2.
如果
server1
不是
leader,
那么
server1
会把请求进⼀步转发给
leader
。
3.
这个
leader
会将写请求⼴播给所有
server
。
4.
各个
Server
写成功后就会通知
leader
。
5.
当
leader
收到半数以上的
server
写成功的通知,就说明数据写成功了。写成功后, leader会告诉server1
数据写成功了。
6. server1
会进⼀步通知
Client
数据写成功了。这时就认为整个写操作成功。
二、读数据流程
相比写数据流程,读数据流程就简单得多;因为每台server中数据一致性都一样,所以随便访问哪台server读数据就行;
没有写数据流程中请求转发、数据同步、成功通知这些步骤。