分布式事務的兩階段提交協議與三階段提交協議

2021-10-06 15:40:09 字數 744 閱讀 9820

定義 :

在計算機網路以及資料庫領域內,為了使基於分布式系統架構下的所有節點在進行事務提交時保持一致性而設計的演算法

情景

在分布式系統中,每個節點雖然可以知道自己的操作是否成功,卻無法知道其他節點是否成功,當乙個事務跨越多個節點時,為了保持事務了acid特性,需要引入乙個作為協調者的元件來統一掌控所有節點(稱作參與者)的操作結果並最終指示這些節點是否要把操作結果進行真正的提交

演算法思路

參與者將操作成敗通知協調者,再由協調者根據所有參與者的反饋情報來決定各參與者是否要提交操作還是中止操作

操作流程

提交階段

如果協調者收到了參與者(某個)的失敗訊息或者超時,直接給每個參與者傳送回滾(rollback)訊息,否則傳送提交(commit)訊息,參與者根據協調者的指令執行提交或者回滾操作,釋放所有事務處理過程中使用的鎖資源(必須是在最後階段釋放鎖資源)

缺點

是對二階段提交的改進版本 :

操作流程

分布式事務 XA事務 兩階段提交

1.分布式事務 在談到 xa 規範之前,必須首先了解分布式事務處理 distributed transaction processing dtp 的概念。transaction 即事務,又稱之為交易,指乙個程式或程式段,在乙個或多個資源如 資料庫 或檔案上為完成某些功能的執行過程的集合。分布式事務處...

分布式的兩階段提交

一 二階段提交演算法描述 在分布式系統中,事務往往包含有多個參與者的活動,單個參與者上的活動是能夠保證原子性的,而多個參與者之間原子性的保證則需要通過兩階段提交來實現,兩階段提交是分布式事務實現的關鍵。很明顯,兩階段提交保證了分布式事務的原子性,這些子事務要麼都做,要麼都不做。而資料庫的一致性是由資...

XA分布式事務處理兩階段提交

在談到 xa規範之前,必須首先了解分布式事務處理 distributed transaction processing dtp 的概念。transaction 即事務,又稱之為交易,指乙個程式或程式段,在乙個或多個資源如 資料庫 或檔案上為完成某些功能的執行過程的集合。分布式事務處理是指乙個事務可能...