有哪些常见分布式事务解决方案
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阶段执行失败,则取消本地事务的执行,并将失败结果反馈给外部系统。
猜您想看
-
Exchange2013通讯组授权其他用户管理其中成员的方法
一、授权其他用...
2023年05月26日 -
如何在Linux中使用tcpdump监控网络端口
1.什么是tc...
2023年05月15日 -
互联网中链表是一种采用什么存储结构存储的线性表
1. 链表的概...
2023年05月26日 -
在CS:GO游戏中如何改变游戏玩法?
CS:GO是一...
2023年04月17日 -
如何在 Win8 系统中设置屏幕分辨率
如何在 Win...
2023年04月15日 -
Python数据结构与算法的示例分析
Python是...
2023年07月22日