共識演算法和一致性

來源:互聯網
上載者:User

一致性往往指分布式系統中多個副本對外呈現的資料的狀態。如前面提到的順序一致性、線性一致性,描述了多個節點對資料狀態的維護能力。

共識則描述了分布式系統中多個節點之間,彼此對某個狀態達成一致結果的過程。

致性描述的是結果狀態,共識則是一種手段。達成某種共識並不意味著就保障了一致性。

講,各個節點通常都是相同的確定性狀態機器模型(又稱為狀態機器複製問題,state-machine replication),從相同初始狀態開始接收相同順序的指令,則可以保證相同的結果狀態。

系統中多個節點最關鍵的是對多個事件的順序進行共識,即排序。

出現故障(crash或fail-stop,即不響應)但不會偽造資訊的情況稱為“非拜占庭錯誤”(non-byzantine fault)或“故障錯誤”(Crash Fault);

偽造資訊惡意響應的情況稱為“拜占庭錯誤”(Byzantine Fault),對應節點為拜占庭節點。

解決的是非拜占庭的普通錯誤情況還是拜占庭錯誤情況,共識演算法可以分為Crash Fault Tolerance(CFT)類演算法和Byzantine Fault Tolerance(BFT)類演算法。

於要能容忍拜占庭錯誤的情況,一般包括PBFT(Practical Byzantine Fault Tolerance)為代表的確定性系列演算法、PoW為代表的機率演算法等。

注意 實踐中,一致性的結果往往還需要用戶端的額外支援,典型情況如通過訪問足夠多個服務節點來比對驗證,確保擷取共識後的正確結果。

提示 不僅在分布式系統領域,實際上在很多領域都存在類似“測不準原理”的約束。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.