分布式系統資料一致性級別

2021-09-24 09:29:25 字數 886 閱讀 1689

在分布式系統中乙個需要解決的重要問題就是資料的複製。

分布式系統對於資料的複製需求一般都來自於以下兩個原因:

所謂的分布式一致性問題,是指在分布式環境中引入資料複製機制後,不同資料節點間可能出現的,並無法依靠計算機應用程式自身解決的資料不一致情況。

簡單地講,資料一致性就是指在對乙個副本資料進行更新的同時,必須確保也能夠更新其他的副本,否則不同副本之間的資料將不再一致。

可能會有人想到這種解決方案:

將寫入的動作阻塞,直到資料複製完成後,才完成寫入動作。

這似乎能解決問題,可當應用場景中有非常多的寫請求時,系統的效能將急劇下降。

總的來講,我們無法找到一種能夠滿足分布式系統所有系統屬性的一致性解決方案。因此如何既保證資料的一致性,同時又不影響系統執行的效能,是每乙個分布式系統都需要重點考慮和權衡的。

於是就出現了以下一致性級別。

這種一致性級別是最符合使用者直覺的,它要求系統寫入什麼,讀出來的也會是什麼,使用者體驗好,但實現起來往往對系統的效能影響極大

這種一致性級別約束了系統在寫入成功後,不承諾立即可以讀到寫入的值,也不具體承諾多久之後資料能夠達到一致,但會盡可能保證到某個時間級別後,資料能夠達到一致狀態。弱一致性還可以再進行細分:

最終一致性是弱一致性的乙個特例,系統會保證在一定時間內,能夠達到乙個資料一致的狀態。這裡之所以將最終一致性單獨提出來,是因為它是弱一致性中非常重要的一種一致性模型,也是業界在大型分布式系統的資料一致性上比較推崇的模型。

《從paxos到zookeeper 分布式一致性原理與實踐》倪超著

資料一致性,分布式系統

最近寫了乙個關於 鐵道部購票系統的若干文章 鐵道部新客票系統的設計 一 鐵道部新客票系統的設計 二 鐵道部新客票系統的設計 三 正好遇到乙個博友,諮詢了乙個問題,這個問題正好可以作為分布式系統的資料一致性的簡單例子,當然,這個只是比較簡單的情況 現在先丟擲問題,假設有乙個主資料中心在北京m,然後有成...

分布式架構 資料一致性

分布式架構 資料一致性 分布式架構下的資料一致性存在很多問題 1.跨系統間分布式事務如何解決?2.系統內多個服務的分布式事務如何解決?3.乙個服務內多個資料來源 資料庫的分布式事務如何解決?等等問題。域是乙個虛擬的分類,幾個系統屬於某乙個域,例如網上銀行和手機銀行都屬於電子渠道領域 傳統的單體應用,...

分布式一致性

分布式一致性是指在分布式環境中對某個副本資料進行更新操作時,必須確保其他副本也會更新,避免不同副本資料不一致。分布式系統乙個重要的問題時解決資料複製,一是為了增加系統的可用性防止單點故障,二是提高系統可用性,通過負載聚恆,使分布在不同位置的資料副本能夠提供服務。理想狀態下,當然希望分布式系統能夠實現...