分布式一致性包括:
強一致性:保證副本都一致
可用性:在使用者容忍時間範圍內返回使用者預期結果
分割槽容錯性:出現網路分割槽時仍能對外提供可用服務。
主要方法兩階段提交協議,三階段提交協議
分為協調者master參與者segment
第一階段:投票階段
協調者像參與者分發任務,參與者執行並記錄日誌,但不提交等待,返回結果,阻塞ready等待協調者指令。
第二階段:事務提交
三種情況:全部成功,部分不成功,超時。
第一種的話,協調者傳送全部提交指令。
第二三種的話,發布回滾操作
存在的問題:單點問題,如果master宕機,segment會阻塞,如果存在網路問題也會出現資料不一致。
所以引入超時和互詢機制,如果master超時沒收到應答發布回滾指令,如果segment處於ready狀態但沒收到第二階段提交指令超時,則開始輪訓,如果輪訓的那乙個提交或者回滾了則它也提交或回滾;如果未達到ready狀態,直接回滾;如果輪訓的處於ready狀態,則問下乙個,直到都是ready,等待指令。
包括can,pre,do
can階段詢問每個segment是否能執行。
pre階段如果都能執行這二階段提交一樣。
如果存在不能執行的傳送abort指令,所有中斷。
do如果未中斷,都可執行則和二階段事務提交一樣。
好處就是在do階段如果segment沒收到master指令,不會阻塞,直接提交,因為由於有pre階段所以都可以提交,此時是因為網路出問題,導致沒收到master指令,可直接提交。
分布式一致性問題
典型情況 三個副本構成乙個group 1.強一致性 所有的副本更新成功才返回。同時,p向s1 s2同步的過程,可以進行優化,借鑑gfs的流水線複製方式 p s1 s1 s2 以便充分利用每個node的頻寬資源。2.最終一致性 在經過乙個不一致視窗後,副本最終處於一致的狀態。如上圖是一種簡單的最終一致...
分布式一致性問題。
在電腦科學領域,分布式一致性問題是乙個相當重要,且被廣泛探索與論證的問題,通常存在於諸如分布式檔案系統 快取系統和資料庫等大型分布式儲存系統中。什麼是分布式一致性?分布式一致性分為哪些型別?分布式系統達到一致性後將會是乙個什麼樣的狀態?如果失去了一致性約束,分布式系統是否還可以依賴?如果一味地追求一...
分布式系統中一致性問題
區塊鏈系統,首先是乙個分布式系統,一致性問題是分布式領域最為基礎也是最重要的問題。一致性 consistency 是指對於分布式系統中的多個服務節點,給定一系列操作,在約定協議的保障下,試圖使得它們對處理結果達成 某種程度 的認同。分布式計算機集群系統中容易出現以下幾個問題 節點之間的網路通訊是不可...