2PC如何防止提交失败?

时间:2018-09-04 03:23:33

标签: database transactions microservices distributed-transactions 2phase-commit

我不熟悉分布式事务,研究微服务体系结构中跨分布式事务的两阶段提交如何工作。根据我的理解,在该阶段的最后部分,事务协调器会询问每个节点是否准备好提交。如果所有人都同意,那么它会告诉他们继续进行。

但是阻止以下失败的原因是什么?

所有节点均响应已准备好提交 事务协调器告诉他们“继续提交”,但是其中一个节点提交失败(例如由于某些数据库约束或连接超时)

所有其他节点均已成功提交,但现在分布式事务已损坏

简而言之,当节点说他们准备好提交时,这意味着什么?

我假设每个节点都在运行一个普通数据库,而该数据库对分布式事务一无所知。

0 个答案:

没有答案