副本一致性思考的角度

副本一致性思考的角度

 
    A. 強一致性和弱一致性的本質區別是,當進程訪問系統時是否允許副本之間存在不一致
 
 
    B. 觀察分佈式系統一致性可以從這三個方面的組合來看:
    多個線程還是一個線程,同一時刻還是不同時刻,同一副本還是不同副本。
 
    組合的結果共有6種:
    
    一個線程,同一時刻,訪問同一副本,    無效的。
    一個線程,同一時刻,訪問不同部分,    無效
    一個線程,不同時刻,訪問同一副本,    單機模式
    一個線程,不同時刻,訪問不同副本,    單用戶多終端模式
    多個線程,同一時刻,訪問同一副本,    併發訪問
    多個線程,同一時刻,訪問不同副本,    要看線程數與副本數的比例,以及具體的訪問模式,既可以是1對1,也可以是N對1
    多個線程,不同時刻,訪問同一副本,    隊列,串行化
    多個線程,不同時刻,訪問不同副本,    也要具體分析 
 
 
    C. 單調讀、單調寫、讀寫一致性、寫讀一致性,這四類是否組成了最終一致性的全部?
 
    我認爲不是。這四種一致性,都基於同一個假設:
 
    在副本應用其它節點更新這個過程中,用戶不對同一一致性單元進行更新。
 
同步系統在用戶再次訪問同一一致性單元前,完成對他的更新,用戶訪問的是不同副本節點。
 
    最終一致性的定義,沒有約束,節點的一致狀態同步要在用戶下一次訪問前完成。所以我認爲,這四種
 
類型並不是最終一致性的全部。只要在用戶不再進行更新後,節點最終能獲得一致性,即是最終一致性。
 
同步的過程中,用戶最終將看到節點的一致狀態,沒有特定的時間約束。
 
    比如,使用Wiz在家編輯了文件,並同步到了雲端。但來到學校後,因爲網絡中斷,我看到將仍是舊版本的數據,
 
這就不符合讀寫一致性。
 
    這個四種一致性,是一種參考,如果你開發的同步系統想提供某種一致性,就需要對用戶的訪問有所限制。
 
比如,在某個一致性單元完成同步前,不允許用戶訪問。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章