我正在使用分布式事务的分布式系统上工作,这意味着我可能有一个事务需要同时编辑多个数据库(在多个服务器上)。
在我的系统中,有一个控制器来管理分发。
我想要满足的场景是:服务器A想要启动一个分布式事务。参与者是服务器A和服务器B。因此,服务器A向控制器发送请求以启动分布式事务。控制器打开到服务器A和服务器B的连接,并要求它们进行本地事务。服务器A和服务器B都必须回复服务器它们已准备就绪。然后,控制器将提交发送到服务器A和服务器B。
你有什么建议让我能够构建这个分布式事务吗?
发布于 2013-07-22 10:45:10
我认为你可以google两阶段提交,这是一个非常著名的,非常有用的分布式事务协议,这是来自wikipedia Two-phase commit的wiki
发布于 2013-07-22 11:57:09
正如BitHigher提到的,Two phase commit就是你想要的。它也被称为XA transactions。有关MySQL的特定操作,请阅读this。
请注意,XA会有其自身的复杂性,特别是在出现故障的情况下。在尝试使用XA之前,请确保您了解所有的角例。
https://stackoverflow.com/questions/17772363
复制相似问题