MySQL中的XA事務

2021-07-23 09:07:19 字數 478 閱讀 4055

1、提到xa事務,我們也必須提到普通事務,普通事務和xa事務,還是有很大差別的.

普通事務:在開始事務時,每個事務都會建立乙個事務檔案,當commit時,先把修改過的資料塊,寫到事務檔案中,然後再一次性的寫入資料庫檔案中。這樣在commit時掛出錯時,當伺服器重啟,會重新把事務檔案中修改過的資料塊寫到資料塊中,然後刪除事務檔案。

2、xa事務也叫分布式事務

其實xa事務是基於二階段提交實現的。xa事務中需要有乙個事務協調器來保證所有的事務參與者完成了準備工作(第一階段)。如果協調器收到所有參與者都準備好的訊息,就會通知所有事務可以提交了(第二階段)。

下面兩個來自:

出錯回滾:

XA事務規範

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

mysql 分布式事務(xa)

這是寫的乙個測試分布式事務的指令碼,參考了網上的乙個指令碼,但是那個在我這裡指令碼不能正常執行,就自己改了一下 mapfarm new mysqli 10.128.51.121 public public db1 or die mapfarm 連線失敗 map new mysqli 10.128.5...

詳解Mysql分布式事務XA

在開發中,為了降低單點壓力,通常會根據業務情況進行分表分庫,將表分布在不同的庫中 庫可能分布在不同的機器上 在這種場景下,事務的提交會變得相對複雜,因為多個節點 庫 的存在,可能存在部分節點提交失敗的情況,即事務的acid特性需要在各個不同的資料庫例項中保證。比如更新db1庫的a表時,必須同步更新d...