分布式一致性問題

2021-06-27 13:43:18 字數 851 閱讀 7497

典型情況:三個副本構成乙個group

1. 強一致性:所有的副本更新成功才返回。

同時,p向s1、s2同步的過程,可以進行優化,借鑑gfs的流水線複製方式(p->s1 &s1->s2),以便充分利用每個node的頻寬資源。

2. 最終一致性:在經過乙個不一致視窗後,副本最終處於一致的狀態。

如上圖是一種簡單的最終一致性實現模型,通過增加一組u(update)節點來實現。具體做法是,c的每次更新以binlog的方式順序的追加到update節點(多台來避免單點),然後update節點定期(如10ms)的將binlog重放到三個副本上(n1,n2,n3)。三個副本可以同時提供讀服務,讀到的資料可能不是最新的,這就要求上層業務能容忍或者在上層做一些容錯(如上層的業務每次會等待不一致視窗過去後再讀取資料)。

最終一致性的實現方式還包括大名鼎鼎的dynamo,使用讀寫成功的副本數r,w來控制,當r+w > n(副本數)時,即可保證最終一致性。

如果在最終一致性的基礎上要保證每次讀能讀到最新的資料,可在上述模型上做點小改進。

每次c更新到u上後,必須至少同步到乙個group中的p上,即p上的資料一定是最新的,系統的讀請求由p節點來滿足以保證每次讀到的資料是最新的,付出的代價就是,兩個從副本不能分擔負載,使得p易成為熱點,當p掛掉時,選擇乙個s成為新的p。

分布式一致性問題。

在電腦科學領域,分布式一致性問題是乙個相當重要,且被廣泛探索與論證的問題,通常存在於諸如分布式檔案系統 快取系統和資料庫等大型分布式儲存系統中。什麼是分布式一致性?分布式一致性分為哪些型別?分布式系統達到一致性後將會是乙個什麼樣的狀態?如果失去了一致性約束,分布式系統是否還可以依賴?如果一味地追求一...

分布式一致性問題

分布式一致性包括 強一致性 保證副本都一致 可用性 在使用者容忍時間範圍內返回使用者預期結果 分割槽容錯性 出現網路分割槽時仍能對外提供可用服務。主要方法兩階段提交協議,三階段提交協議 分為協調者master參與者segment 第一階段 投票階段 協調者像參與者分發任務,參與者執行並記錄日誌,但不...

分布式系統中一致性問題

區塊鏈系統,首先是乙個分布式系統,一致性問題是分布式領域最為基礎也是最重要的問題。一致性 consistency 是指對於分布式系統中的多個服務節點,給定一系列操作,在約定協議的保障下,試圖使得它們對處理結果達成 某種程度 的認同。分布式計算機集群系統中容易出現以下幾個問題 節點之間的網路通訊是不可...