分布式協調與同步之分布式事務

2022-08-09 09:00:19 字數 669 閱讀 8985

包含一系列操作的,乙個有邊界的工作序列,有明確的開始和結束標誌,且要麼被完全執行,要麼完全失敗

分布式系統中執行的事務,有多個本地事務組合而成

原子性,一致性,隔離性和永續性

剛性事務:遵循acid原則,具有強一致性

柔性事務:根據不同的業務場景使用不同的方法實現最終一致性,可以容忍一定時間內的資料不一致

基本可用:分布式系統出現故障時,允許損失一部分功能的可用性

柔性狀態:允許系統存在中間狀態且不會影響系統整體可用性

最終一致性:最終狀態下資料都是一致的

角色:協調者(事務管理器)和參與者(本地資源管理器)

階段:投票階段和提交階段

特點:強一致性,同步執行,演算法簡單易實現

問題:同步阻塞,單點故障以及資料不一致問題,效能低,系統吞吐量低

角色:協調者(事務管理器)和參與者(本地資源管理器)

階段:增加了預提交階段,引入超時機制和準備機制

特點:強一致性,同步執行,無同步故障問題,無單點故障問題

問題:資料不一致問題,效能較低,系統吞吐量不高

核心思想:將事務通過訊息或者日誌的方式非同步執行,訊息可以持久化到本地檔案,資料庫或者訊息佇列中,再通過業務規則進行失敗重試

特點:最終一致性,非同步執行,無同步阻塞和單點故障問題,效能高,吞吐量高

缺點:演算法複雜度高

分布式協調與同步之分布式鎖

實現方式 建立一張鎖表對臨界資源做唯一約束,鎖住資源時增加一條記錄,釋放時刪除該記錄 優點 容易理解 缺點 容易出現單點故障,死鎖等問題,實現複雜,效能低可靠性低 應用場景 併發量低,效能要求低的場景 優點 效能高,無單點故障問題,易於實現 缺點 鎖失效時間的控制不穩定,可靠性不如zookeeper...

分布式協調與同步之分布式共識

在多個節點均可獨自操作或記錄的情況下,使得所有節點針對某個狀態達到一致的過程,通過共識機制可以使得分布式系統中多個節點的資料達成一致。分布式共識技術其實就是區塊鏈共識機制的核心 一致性強調的是結果,共識強調的是達成一致的過程 獲得記賬權和所有節點達成一致 機制 以每個節點或伺服器的計算能力來競爭記賬...

分布式協調與同步之分布式選舉

分布式系統中需要乙個主節點,該節點用於負責對其他節點進行協調和管理。同時主節點的存在能夠保證分布式集群資料的一致性。選舉原則 偏向於讓id更大的節點作為集群的leader 前提條件 假設集群中所有節點都知道其他節點的id 訊息型別 節點狀態 election訊息,用於發起選舉 alive訊息,用於對...