基礎理論 raft協議的個人理解

2022-03-20 15:38:50 字數 734 閱讀 3245

raft協議

一 什麼是一致性

所有節點都從同乙個state出發,都經過同樣的一些操作序列(log),最後到達同樣的state。

二 狀態

1 leader leader副本接受client的更新請求,本地處理後再同步至多個其他副本;

2 follower 請求的被動更新者,從leader接受更新請求,然後寫入本地日誌檔案

3 candidate 如果follower副本在一段時間內沒有收到leader副本的心跳,則判斷leader可能已經故障,此時啟動選主過程,此時副本會變成candidate狀態,直到選主結束。

三 日誌應用

1 leader 接受 client請求,追加日誌到本地日誌檔案

3 當leader確定乙個log entry被safely replicated(絕大多數成員)

四 選舉

1 follower轉變成candidate角色

2 傳送給其他follower進行投票選舉

3 投票有三種結果

1 自己為主 candiate->leader

2 別人為主 candiate->follower

3 沒有結果 投票超時,繼續進行選舉

五 一些疑問

1 raft協議建議奇數點的目的是避免出現平票現象, 計算方式為 n/2+1 存活節點

2 raft協議把併發能力變差了,因為只有乙份log完全被複製到大多數節點後才會處於commit狀態,進行下乙份log的寫入

BGP(邊界閘道器協議)基礎理論

一 bgp的特點 二 bgp的訊息型別 三 bgp的路由屬性 1.源源屬性定義資訊 有三種 2.as路徑 as path as path屬性記錄了某條路由從本地到目的位址所要經過的所有as號,當bgp路由器將一條路由通告到其他as中,會把本地號新增在as path列表中。收到的路由的bgp路由根據a...

軟體測試的基礎理論

一 測試的目的 發現軟體中的缺陷和錯誤,並加以糾正。二 測試的一般流程 粗略版 明確測試物件,了解測試物件 根據需求文件編寫測試計畫 設計測試用例 搭建測試環境 執行測試用例 編寫測試報告 詳細版 1 編寫測試計畫 成果 專案進度計畫 需求說明書 2 編寫測試用例 成果 概要設計說明書 詳細設計說明...

軟體測試的基礎理論

軟體測試綜述 什麼是軟體測試?在1947年有哈佛大學製造的類似房間大小的計算機 mark ii 由於乙隻飛蛾引起的計算機短路問題,計算機缺陷就這樣發生了,雖然該缺陷被消除了,但是我們從此認識了它.軟體測試的術語 缺點 defect 偏差 variance 故障 fault 問題 problem 矛盾...