客户端向服务端写数据流程
1、写流程之写入请求直接发送给Leader节点
-
1:客户端给服务器的leader发送写请求,
-
2:leader写完数据后,依次给follower发送写请求,
-
3:follower写完发送ack给leader,
-
4:超过半数以上的都写完,leader则发会ack给客户端。
-
5:之后leader再给其他follower发请求让它们写,
-
6:这些follower写完再发ack给leader。
2、写流程之写入请求发送给follower节点
-
1:客户端给follower发送写的请求,
-
2:该follower把这次写请求转发给leader,
-
3:leader写完后,依次给follower发送写的请求,
-
4:follower写完后给leader发送ack确认,
-
5:超过半数,leader确认后,发给一开始那个follower节点ack(此时客户端访问的是该节点),
-
6:该follower节点把ack转给客户端,
-
7:leader再给其他follower发请求让它们写,
-
8:这些follower写完再发ack给leader。