https://blog.csdn.net/bjweimengshu/article/details/79607522

两阶段提交

包含着两个角色:事务协调者和事务参与者。
第一阶段
p.jpg

第二阶段
p (1).jpg

三阶段提交

XA三阶段提交在两阶段提交的基础上增加了CanCommit阶段,并且引入了超时机制。
一旦事务参与者迟迟没有接到协调者的commit请求,会自动进行本地commit。

这样有效解决了协调者单点故障的问题。
但是性能问题和不一致的问题仍然没有根本解决。

TCC

TCC事务是Try、Commit、Cancel三种指令的缩写,其逻辑模式类似于XA两阶段提交,但是实现方式是在代码层面来人为实现。

消息队列

利用消息中间件来异步完成事务的后一半更新,实现系统的最终一致性。这个方式避免了像XA协议那样的性能问题。