《DDIA》分布式一致性

2022-07-11 22:45:11 字數 521 閱讀 6355

⽽分布式⼀致性主要關於,⾯對延遲和故障時,如何協調副本間的狀態。

線性一致性:新鮮性保證。效果:乙個副本,原子讀寫

用處:鎖

約束實現:同步讀修復的法定人數

順序的引入:因果(非全序)

複製⽇志定義了與因果⼀致的寫操作

序列號⽣成器不能正確地捕獲跨節點的操作順序,所以會出現因果關係的問題

每個節點和每個客戶端跟蹤迄今為⽌所⻅到的最⼤計數器值,並在每個請求中包含這個最⼤計數器值。

適⽤於事後確定勝利者

只有在所有的操作都被收集之後,操作的全序才會出現

每個分割槽各有⼀個主庫的分割槽資料庫,通常只在每個分區內維持順序,這意味著它們不能提供跨

分割槽的⼀致性保證(例如,⼀致性快照,外來鍵引⽤)

滿⾜兩個安全屬性:

可靠交付(reliable delivery)

沒有訊息丟失:如果訊息被傳遞到⼀個節點,它將被傳遞到所有節點。

全序交付(totally ordered delivery)*

⼆階段提交:原⼦提交

分布式一致性

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

分布式一致性

分布式系統的乙個重要問題是資料的複製。對資料的複製一般有兩個原因 資料複製的主要難題是保持各個副本的一致性。即在更新乙個副本時,必須確保同時更新其他的副本,否則資料的各個副本將不再相同。一致性模型實質上是程序和資料儲存之間的乙個約定。正常情況下,乙個資料項上執行讀操作時,它期待該操作返回的是該資料在...

分布式一致性方案

首先,先說一下。老外提出了乙個快取更新套路,名為 cache aside pattern 其中就指出 不是的。假設這會有兩個請求,乙個請求a做查詢操作,乙個請求b做更新操作,那麼會有如下情形產生 快取剛好失效 請求a查詢資料庫,得乙個舊值 請求b將新值寫入資料庫 請求b刪除快取 請求a將查到的舊值寫...