Skip to content

客户端向服务端写数据流程

1. 写流程之写入请求直接发送给Leader节点

请求写入流程图1

  1. 如果客户端写数据请求的是zk集群的leader, leader收到请求后,leader会自己执行写数据操作。
  2. 同时会将写数据请求下达给其他follower。
  3. follower写完数据后会返回给leader一个ack应答。
  4. leader判断写数据是否超过节点半数,超过半数就返回客户端ack应答。
  5. leader会继续下达写数据命令给剩下没有写数据的节点,继续写数据。
  6. 剩下的follower完成写数据后,向leader返回ack应答。

2. 写流程之写入请求发送给follower节点

请求写入流程图2

  1. 如果客户端写数据请求的是zk集群的follower, follower会首先将请求转发zk集群的leader。
  2. leader自己写数据,同时会将写数据请求下达给其他follower。
  3. follower写完数据后会返回给leader一个ack应答。
  4. leader判断写数据是否超过节点半数,超过半数就返回follower一个ack应答。
  5. follower会向客户端返回写完数据的ack应答。
  6. leader会继续下达写数据命令给剩下没有写数据的节点,继续写数据。
  7. 剩下的follower完成写数据后,向leader返回ack应答。