有哪些常见分布式事务解决方案
1、TCC(Try-Confirm-Cancel)
TCC(Try-Confirm-Cancel)是一种基于补偿机制的分布式事务解决方案,它有三个阶段:Try(尝试)、Confirm(确认)、Cancel(取消)。
Try 阶段:在 Try 阶段,参与者可以调用 Try 阶段的服务,尝试执行本地事务,但是不会对外部系统产生影响;
Confirm 阶段:在 Confirm 阶段,参与者调用 Confirm 阶段的服务,确认本地事务的执行结果,并将结果反馈给外部系统;
Cancel 阶段:在 Cancel 阶段,参与者调用 Cancel 阶段的服务,如果 Try 阶段执行失败,则取消本地事务的执行,并将失败结果反馈给外部系统。
2、XA(eXtended Architecture)
XA 是一种基于两阶段提交的分布式事务解决方案,它有两个阶段:Prepare(准备)、Commit(提交)。
Prepare 阶段:在 Prepare 阶段,参与者会准备执行本地事务,但是不会对外部系统产生影响;
Commit 阶段:在 Commit 阶段,参与者会提交本地事务的执行结果,并将结果反馈给外部系统。
3、2PC(Two-Phase Commit)
2PC(Two-Phase Commit)也是一种基于两阶段提交的分布式事务解决方案,它有两个阶段:Prepare(准备)、Commit(提交)。
Prepare 阶段:在 Prepare 阶段,参与者会准备执行本地事务,但是不会对外部系统产生影响;
Commit 阶段:在 Commit 阶段,参与者会提交本地事务的执行结果,并将结果反馈给外部系统。
4、Saga(十二恶八)
Saga(十二恶八)是一种基于补偿机制的分布式事务解决方案,它有多个阶段:Try(尝试)、Compensate(补偿)。
Try 阶段:在 Try 阶段,参与者可以调用 Try 阶段的服务,尝试执行本地事务,但是不会对外部系统产生影响;
Compensate 阶段:在 Compensate 阶段,参与者调用 Compensate 阶段的服务,如果 Try 阶段执行失败,则取消本地事务的执行,并将失败结果反馈给外部系统。
猜您想看
-
SQL Server中如何将普通表转换成分区表
一、概述SQL...
2023年05月26日 -
C++中有哪些拷贝方式
一、值拷贝方式...
2023年07月21日 -
Message Queue Selector如何实现顺序消费
1、什么是消息...
2023年05月26日 -
GPT在自动作曲中的应用
GPT在自动作...
2023年05月15日 -
如何设置电脑的屏幕分辨率?
想要设置电脑的...
2023年04月20日 -
nodejs如何实现http2推送信息
如何实现HTT...
2023年07月23日