第二章 九析帶你輕鬆完爆 etcd - 架構篇

系列文章:


總目錄索引:九析帶你輕鬆完爆 etcd 系列教程

目錄

1 前言

2 邀約

3 etcd 架構詳解


1 前言

        如果你對博客有任何疑問,請告訴我。1.png


2 邀約

        你可以從下面截圖中獲取免費的、更生動的視頻資料:clipboard2.png


3 etcd 架構詳解

        下圖展示了 etcd 物理架構:clipboard3.png

        從 etcd 架構圖可以看到,etcd 主要分爲四個部分:

1 httpserver:用於接收用戶發送的 API 請求以及其他 etcd 節點的同步和心跳信息請求

2 store:用於處理 etcd 支持的各類功能的事務,包括數據索引、節點狀態變更、監控和反饋、事件處理與執行等等,是 etcd 對用戶提供的大多數 API 功能的具體實現

3 raft:Raft 強一致性算法的具體實現,是 etcd 的核心

4 WAL:Write Ahead Log(預寫式日誌),是 etcd 數據存儲方式。除了在內存中存有所有數據的狀態以及節點索引以外,etcd 就是通過 WAL 進行持久化存儲。WAL 中,所有的數據提交前都會事先記錄日誌。Snapshot 是爲了防止數據過多而進行的狀態快照;Entry 表示存儲的具體日誌內容

簡單來說就是客戶端通過 API 發送操作 etcd 的請求,etcd http server 組件接收到請求之後將其轉給 store 組件處理,store 將處理後的結果通知給 raft 組件,raft 在將數據持久化之前首先通知 WAL 組件進行日誌記錄,最後再將數據操作結果持久化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章