etcd raft 處理流程圖系列1-raftexample

charlieroro發表於2021-08-03

最近在看raft相關的程式碼和實現,發現etcd的raft模組在實現上還是比較靈活的,但缺點就是需要使用者實現比較多的功能,如儲存和網路等,同時帶來的優點就是不會對使用者的儲存和傳輸作限制。網上對該模組的描述也比較多,這裡我主要根據程式碼畫出簡易的處理邏輯,程式碼邏輯可以參考這裡(後續流程圖也會按照這個系列的講解順序來)。

該例子給出了etcd raft處理的總體架構圖,但並不涉及raft處理的細節,綠底部分為raft節點的server,右下側為需要使用者實現的儲存和傳輸層。右上側為對外的Http server,處理新增新表項、增加/移除raft節點等,並通過不同的channel與raft server進行互動。

下面官方給出的例子的處理邏輯:

原圖地址:raftexample

參考

etcd-raftexample-原始碼簡析

相關文章