etcd raft 处理流程图系列2-transport

本章给出了raftexample中使用的传输层代码,补全了上一节中传输层与raft节点(raft server和channel server)的交互细节。下图中流程的核心在于传输层中的streamRtpipelineRt,raft的传输层通过这两个roundtrip与其他节点交互,并通过streamReader读取来自其他节点的信息进行处理。streamHandler用于给msgAppV2Writerwriter提供连接,处理完请求之后将响应结果返回给handler(raft example中好像没有涉及streamHandler的处理)。

该模块中使用了大量channel,可以借鉴其思想和方式。

原图地址:transport

参考

etcd-raft 网络传输源码简析

原文地址:https://www.cnblogs.com/charlieroro/p/15095319.html