2013-07-21 55 views
0

我正在使用分佈式事務的分佈式系統上工作,這意味着我可能有一個事務需要同時編輯多個數據庫(在多個服務器上)。mysql上的分佈式事務

在我的系統中有一個控制器來管理分配。

我想要滿足的場景是: 服務器A想發起一個分佈式事務。參與者是服務器A和服務器B,因此服務器A向控制器發送請求以啓動分佈式事務。 控制器打開與服務器A和服務器B的連接,並要求他們執行本地事務。服務器A和服務器B都必須回覆他們準備好的服務器。控制器然後將提交發送給服務器A和服務器B.

對於我能夠構建此分佈式事務,您有任何建議嗎?

回答

0

我認爲你可以在google兩階段提交,它是分佈式事務的一個非常著名的和有益的協議,這是維基百科維基Two-phase commit

0

Two phase commit是你想要的,因爲BitHigher提到。它也被稱爲XA transactions。有關MySQL的具體操作,請閱讀this

請注意,XA會帶來其自身的複雜性,特別是在失敗的情況下。在嘗試使用XA之前,確保你瞭解所有的角落案例。