关于mysql的分布式事务

时间:2013-07-21 12:29:32

标签: mysql sql transactions distributed distributed-computing

我正在使用一个使用分布式事务的分布式系统,这意味着我可能有一个需要同时编辑多个数据库(在多个服务器上)的事务。

在我的系统中,有一个控制器来管理分发。

我想要满足的场景是: 服务器A想要启动分布式事务。参与者是服务器A和服务器B.因此服务器A向控制器发送请求以发起分布式事务。 控制器打开与服务器A和服务器B的连接,并要求它们进行本地事务。服务器A和服务器B都必须回复它们准备好的服务器。然后,控制器将提交发送给服务器A和服务器B.

对于我能够构建此分布式事务,您有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我认为你可以谷歌两阶段提交,它是一个非常着名和有用的分布式事务协议,这是来自维基百科的维基Two-phase commit

答案 1 :(得分:0)

正如BitHigher所提到的,

Two phase commit就是你想要的。它也被称为XA transactions。对于MySQL特定操作,请阅读this

请注意,XA会出现自身的复杂情况,特别是在出现故障的情况下。在尝试使用XA之前,请确保您了解所有角落情况。

相关问题