天天看點

etcd raft 處理流程圖系列2-transport

本章給出了raftexample中使用的傳輸層代碼,補全了上一節中傳輸層與raft節點(raft server和channel server)的互動細節。下圖中流程的核心在于傳輸層中的<code>streamRt</code>和<code>pipelineRt</code>,raft的傳輸層通過這兩個roundtrip與其他節點互動,并通過<code>streamReader</code>讀取來自其他節點的資訊進行處理。<code>streamHandler</code>用于給<code>msgAppV2Writer</code>和<code>writer</code>提供連接配接,處理完請求之後将響應結果傳回給handler(raft example中好像沒有涉及<code>streamHandler</code>的處理)。

該子產品中使用了大量channel,可以借鑒其思想和方式。

etcd raft 處理流程圖系列2-transport

原圖位址:transport

etcd-raft 網絡傳輸源碼簡析