【问题标题】:Distributed Transaction on mysqlmysql上的分布式事务
【发布时间】:2013-07-20 06:57:39
【问题描述】:

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

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

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

您对我能够构建这个分布式事务有什么建议吗?

【问题讨论】:

    标签: mysql sql transactions distributed distributed-computing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      Two phase commit 是您想要的,正如 BitHigher 所提到的。它也被称为XA transactions。对于 MySQL 特定操作,请阅读this

      请注意,XA 会带来其自身的复杂性,尤其是在失败的情况下。在尝试使用 XA 之前,请确保您了解所有极端情况。

      【讨论】:

        猜你喜欢
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-04
        • 1970-01-01
        • 2015-09-03
        相关资源
        最近更新 更多