使用分布式事务涉及两个核心角色:
分布式事务目前提供了三种参与者接入模式:TCC 模式、FMT 模式 与 Saga 模式。
TCC(Try-Confirm-Cancel)是一种高性能的分布式事务接入模式,该模式提供了更多的灵活性,几乎可满足任何您能想到的事务场景。TCC 模式提供自定义补偿型事务、自定义资源预留型事务、消息事务等场景,用户可以介入两阶段提交的过程,以达到特殊场景下的自定义优化及特殊功能的实现。
TCC 模式架构如下:
TCC 模式的特性如下:
为了解决 TCC 模式的易用性问题,金融科技分布式事务推出了框架管理事务模式(Framework-managed transactions,简称 FMT)。FMT 是一种无侵入的分布式事务解决方案,该模式解决了分布式事务的易用性问题,最大的特点是易于使用、快速接入以及对业务代码无侵入。
FMT 模式架构如下:
Saga 模式是 SEATA 提供的长事务解决方案,适用于业务流程长、业务流程多、参与者包含其它公司或老系统服务等场景。在 Saga 模式中,业务流程中每个参与者都提交本地事务。当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。
Saga 模式架构如下图所示。其中,左侧是正常事务流程,当执行到 T3 时出现异常,则开始执行右侧的事务补偿流程,反向执行 T3、T2、T1 的补偿服务。
Soga 模式的特性如下:
在文档使用中是否遇到以下问题
更多建议
匿名提交