一、共識算法 -- 拜占庭問題 兩忠一叛問題: 如上圖所示,將軍A、B、C約定同時進攻或者撤退,假如將軍C叛變了,被中間人截取消息並發送進攻給A、撤退給B,當所有將軍消息都收到后結果如下:A:2票進攻1票撤退;B:2票撤退1票進攻;導致最終A獨自去攻打敵軍,B撤退,最終會任務失敗 ...
共識機制的概念,我們在前面的文章 淺說區塊鏈共識機制 中已經講解了一部分,但是,共識算法其實是一個非常大的話題,一篇文章肯定沒有辦法做到面面俱全。 那么今天的內容,我會將重點放在梳理技術的脈絡上,詳細分析的部分會少一點。如果你對共識算法有興趣的話,可以自行查找相關內容,也可以和其他的資料進行相互補充的閱讀。 從相親大會說起:分布式系統的模型 由於區塊鏈就是一種分布式系統,所以這篇文章我就從這一概 ...
2018-09-27 21:41 0 879 推薦指數:
一、共識算法 -- 拜占庭問題 兩忠一叛問題: 如上圖所示,將軍A、B、C約定同時進攻或者撤退,假如將軍C叛變了,被中間人截取消息並發送進攻給A、撤退給B,當所有將軍消息都收到后結果如下:A:2票進攻1票撤退;B:2票撤退1票進攻;導致最終A獨自去攻打敵軍,B撤退,最終會任務失敗 ...
從分布式系統的CAP理論出發,關注分布式一致性,以及區塊鏈的共識問題及解決。 區塊鏈首先是一個大規模分布式系統,共識問題本質就是分布式系統的一致性問題,但是又有很大的不同。工程開發中,認為系統中存在故障(fault),但不存在惡意(corrupt)節點,而區塊鏈,特別是公開鏈是落地到物理世界中 ...
春秋五霸說開 春秋五霸,是指東周春秋時期相繼稱霸主的五個諸侯,“霸”,意為霸主,即是諸侯之領袖。典型的比如齊桓公,晉文公,春秋時期諸侯國的稱霸,與今天要討論的Raft算法很像。 一、更加直觀的Raft算法 Raft 適用於一個管理日志一致性的協議,相比於 Paxos 協議 Raft 更易 ...
搞懂分布式技術2:分布式一致性協議與Paxos,Raft算法 2PC 由於BASE理論需要在一致性和可用性方面做出權衡,因此涌現了很多關於一致性的算法和協議。其中比較著名的有二階提交協議(2 Phase Commitment Protocol),三階提交協議(3 Phase ...
在了解一致性哈希算法之前,最好先了解一下緩存中的一個應用場景,了解了這個應用場景之后,再來理解一致性哈希算法,就容易多了,也更能體現出一致性哈希算法的優點,那么,我們先來描述一下這個經典的分布式緩存的應用場景。 1 、場景描述 假設,我們有三台緩存服務器,用於緩存圖片 ...
看到了自己項目中使用單個redis實例實現的分布式鎖,因此就把redis相關的知識點,以及Redlock等記錄了下來,就有了Redis基礎這篇隨筆。 在理解Redlock算法時,看到了很多關於分布式系統中的一致性算法的文章,於站在巨人的肩膀上,溫故而知新,今天就來做些總結整理 ...
理解分布式一致性與Raft算法 永遠繞不開的CAP定理 出於可用性及負載方面考慮,一個分布式系統中數據必然不會只存在於一台機器,一致性簡單地說就是分布式系統中的各個部分保持數據一致 但讓數據保持一致往往並不像看上去那么簡單,假設我們有兩台機器A與B,這時A更新了數據,A需要將更新的指令 ...
前言:在分布式的系統中,存在很多的節點,節點之間如何進行協作運行、高效流轉、主節點掛了怎么辦、如何選主、各節點之間如何保持一致,這都是不可不面對的問題,此時raft算法應運而生,專門 用來解決上述問題。對於分布式的一致性算法,著名的有paxos,zookeeper基於paxos提出了zab協議 ...