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 阶段执行失败,则取消本地事务的执行,并将失败结果反馈给外部系统。