首页
学习
活动
专区
圈层
工具
发布

为什么我们需要像2PC或SAGA这样的模式来执行微服务之间的顺序事务?

微服务架构是一种将应用程序拆分为多个小型、独立部署的服务的软件设计模式。在微服务架构中,每个服务都有自己的数据库,并且可以独立地进行开发、部署和扩展。然而,由于微服务之间的通信是通过网络进行的,因此在处理跨服务的业务逻辑时,可能会遇到事务一致性的问题。

2PC(Two-Phase Commit)和SAGA(Saga Pattern)是两种常见的用于解决微服务之间顺序事务的模式。

2PC是一种分布式事务协议,它通过协调器(Coordinator)和参与者(Participant)之间的消息交换来实现事务的提交或回滚。在2PC中,协调器首先向所有参与者发送事务准备请求,参与者执行事务的准备操作并向协调器发送准备就绪消息。如果所有参与者都准备就绪,协调器发送事务提交请求,参与者执行事务的提交操作。如果任何一个参与者无法准备就绪或者协调器接收到参与者的中止消息,协调器发送事务回滚请求,参与者执行事务的回滚操作。2PC保证了事务的原子性和一致性,但是在协调器单点故障、网络延迟或参与者故障的情况下,可能会导致事务的阻塞或超时。

SAGA是一种基于补偿(Compensation)的事务模式,它将一个大的事务拆分为多个小的事务片段,每个片段都有对应的补偿操作。在SAGA中,每个事务片段都是原子的,可以独立地执行和回滚。当一个事务片段执行失败时,SAGA会触发相应的补偿操作来回滚之前已经执行的事务片段。通过补偿操作,SAGA可以保证事务的最终一致性。相比于2PC,SAGA更加灵活,可以处理长时间运行的事务和部分失败的情况。但是,SAGA也存在着补偿操作的复杂性和执行顺序的管理问题。

为什么我们需要像2PC或SAGA这样的模式来执行微服务之间的顺序事务呢?原因如下:

  1. 保证数据一致性:微服务架构中的服务可能会涉及到跨多个服务的业务操作,如果没有事务机制,可能会导致数据不一致的问题。2PC和SAGA模式都可以保证事务的原子性和一致性,确保数据在跨服务操作时的一致性。
  2. 处理故障和异常情况:在分布式系统中,网络延迟、服务故障等异常情况时常发生。2PC和SAGA模式都考虑了故障和异常情况下的处理方式,能够在出现故障时进行事务的回滚或补偿操作,保证系统的可靠性和稳定性。
  3. 支持长时间运行的事务:某些业务场景下,事务可能需要长时间运行,例如订单处理、支付等。2PC和SAGA模式都能够处理长时间运行的事务,并保证事务的最终一致性。
  4. 灵活性和可扩展性:2PC和SAGA模式都提供了一种灵活的事务处理方式,可以根据具体业务需求进行定制和扩展。SAGA模式尤其适用于复杂的业务流程和部分失败的情况。

在腾讯云中,可以使用以下产品来支持微服务之间的顺序事务:

  1. 云数据库 MySQL:提供了高可用、可扩展的关系型数据库服务,可以作为微服务的数据存储引擎。链接地址:https://cloud.tencent.com/product/cdb
  2. 云原生应用引擎 TKE:提供了容器化的应用部署和管理服务,可以用于部署和运行微服务。链接地址:https://cloud.tencent.com/product/tke
  3. 云函数 SCF:提供了无服务器的函数计算服务,可以用于处理微服务中的业务逻辑。链接地址:https://cloud.tencent.com/product/scf
  4. 云消息队列 CMQ:提供了高可用、高可靠的消息队列服务,可以用于微服务之间的异步通信。链接地址:https://cloud.tencent.com/product/cmq

请注意,以上仅为腾讯云的一些产品示例,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

聊一下分布式事务

系统之间的通信可靠性从单一系统中的可靠变成了微服务架构之间的不可靠,分布式事务其实就是在不可靠的通信下实现事务的特性。...看上去TCC跟2PC/3PC可能有点像,但是TCC强调的是补偿,而且对于对资源的“预留”,“确认”,“释放”,TCC并没有明确说要如何做,这个具体是要业务来定义的。...Saga也是一种补偿协议,在 Saga 模式下,分布式事务内有多个参与者,每一个参与者都是一个冲正补偿服务,需要用户根据业务场景实现其正向操作和逆向回滚操作。 ?...这样的话,Saga可以拥有比XA和TCC更好的性能(XA、TCC需要锁定资源或预留资源),而且Saga强调通过事件驱动异步处理,实现高吞吐。...在业务允许的情况下,我们通常处理分布式事务的一般原则应是:业务规避 > 最终一致 > 强一致。 参考资料 分布式事务 Seata Saga 模式首秀以及三种模式详解

55020

一文理解分布式事务的解决方案

总结 TCC事务将分布式事务从资源层提到业务层来实现,可以让业务灵活选择资源的锁定粒度,并且全局事务执行过程中不会一直持有锁,所以系统的吞吐量比2PC模式要高很多。...适用于必须要成功的场景,发生失败进行重试,执行顺序是类似于这样的:T1, T2, ..., Tj(失败), Tj(重试),..., Tn,其中j是发生错误的子事务(sub-transaction)。...这种做法的效果是撤销掉之前所有成功的子事务,使得整个Saga的执行结果撤销。 下面讲解的示例均为向后恢复策略。 Saga事务协调模式 Saga执行事务的顺序称为Saga的协调逻辑。...是一种去中心化的模式,子事务之间通过消息机制进行沟通,通过监听器的方式监听其他子事务发出的消息,从而执行后续的逻辑处理。由于没有中间协调点,靠子事务进行相互协调。 ?...实现方式对比 基于协调的Saga的优点如下: 服务之间关系简单,避免子事务之间的循环依赖关系,因为Saga控制类会调用Saga子事务,但子事务不会调用控制类。

80220
  • 分布式系统学习10:分布式事务

    即使重新选择一个协调者,也无法解决因前一个协调者宕机导致的阻塞问题; 2PC只适用于两个数据库(数据库实现了XA协议)之间使用,限制较大,两个系统间无法使用 3.2 三阶段提交(3PC) 在2PC的基础上...由一系列本地事务构成,每个本地事务更新了数据库后,会发布一条消息来触发Saga中的下一个本地事务的执行,如果某个本地事务失败了,Saga会执行这个失败事务之前 已提交的所有事务的补偿操作 Saga的实现最流行的两种方式是...处于当前Saga下的各个服务,会产生某类事件,或者监听其它服务产生的事件并决定是否需要针对监听到的事件做出响应。 基于命令的方式。...协调中心来告诉Saga的参与方应该执行哪一个本地事务 基于事件的方式 事务回滚: 基于事件的回滚,需要相关服务提供补偿操作接口,某个节点发生无法执行事件操作时,需要发送事件通知,其他已执行了事务的节点监听事件并回应...Seata框架 开源的分布式事务解决方案,提供了AT、TCC、SAGA、XA事务模式,不需要自己手动实现分布式事务,直接使用框架就行 有以下几个角色: TC (Transaction Coordinator

    11600

    面试官:来说一下,你们是怎么解决分布式场景下的事务问题?

    在单库的情况下,我们可以通过不同的隔离级别,来解决脏读、不可重复读、幻读问题。但是,随着服务细化和微服务的发展,在日常工作中,不免就会涉及到分布式事务的问题。...XA接口是双向的,能在一个事务管理器和多个资源管理器之间形成通信桥梁,通过协调多个数据源的一致动作,实现全局事务的统一提交或统一回滚。...上述我们了解了TCC模式,那么下面还是以快捷支付为例,看一下TCC的执行过程: 由上述操作过程可见,TCC其实有点类似2PC的准备阶段和提交阶段。...SAGA 在一些场景下,如果无法实现冻结、解冻、扣减这样的操作的话,那么TCC中的第一步Try阶段就无法施行了。此时,我们可以考虑使用另外一种柔性事务——SAGA事务。...SAGA事务通常也不会直接靠裸编码来实现,一般是在事务中间件的基础上完成,例如利用Seata的SAGA事务模式。 基于数据补偿 seata的AT模式就是基于数据补偿来代替回滚思路的。

    34520

    什么是 “分布式事务” ?

    对于分布式事务,相信所有人都应该很了解,为什么会有分布式事务?无论是数据量导致的分库,还是现在微服务盛行的场景都是他出现的原因。...I隔离性:多个事务之间是互相隔离的,事务之间不能互相干扰,涉及到不同事务的隔离级别的问题。 D持久性:一旦事务提交,数据库中数据的状态就应该是永久性的。...实现这个模式,一个事务的接口需要拆分成3个,也就是Try预占、Confirm确认提交、最后Cancel回滚。...主要思想就是将长事务拆分成多个本地短事务。 如果全部执行成功,就正常完成了,反之,则会按照相反的顺序依次调用补偿。...事务模式-XA-图片来自阿里云官网 SAGA模式 TM向TC注册全局事务,获得XID RM向TC注册分支事务,然后执行业务方法,并且上报分支执行情况 RM收到分支回滚,执行对应的业务回滚方法 ?

    99210

    微服务数据一致性的演进:SAGA,CQRS,Event Sourcing的由来和局限

    为了消除2PC的缺点,我们必须牺牲ACID来遵循BASE原则,并根据需要采用不同的方式来满足数据一致性的要求。...一、SAGA模式 在多个微服务中处理一致性问题的最著名方法是SAGA模式(http://t.cn/EzB3uQA)可以将SAGA视为多个事务的应用程序级分布式协调机制。...但在SAGA模式中,一个复杂的事务被拆分成若干个事务,并通过流程管理器串接,从而降低了整体事务管理的复杂性。 对账 如果在进程中间,负责调用补偿操作的系统崩溃或重新启动怎么办?...在这种情况下,用户可能会收到错误消息,触发补偿逻辑,在处理异步用户请求时,重试执行逻辑。 ? (图)主要过程失效 要查找崩溃的事务并恢复操作或应用补偿,我们需要协调来自多个服务的数据。...相反,在使用消息代理机制时,消息队列虽然有其固有的执行顺序,但多个并发使用者使得按给定顺序进行消息处理非常困难,甚至不可能。这样就可能会遇到并发问题。

    2.5K50

    万象伊始——集中式架构为何演进到微服务架构 | Techo大会精彩回顾第一期

    这张图里面显示的是IBM一台大型主机的系统架构。但像工行、农行这些大银行系统是由四台这样的机器组成,每一台机器你可以想象成相当于冰箱大小,每个机器上划分两个或多个虚拟机,每个行都差不多这样。...但不同点在于后面的TOR、AOR,也就是我们讲的应用服务器,它的业务逻辑层不一样,需要根据自己的业务来部署。...如果打的话,能不能保持很多服务人员现场和在线支持,为什么这样呢?因为它的应用是单体,单体出现问题会引起全局性的问题,需要各方面的人来协同排查,负担非常重。所以这个东西对于IBM和客户来讲消耗都非常大。...# 为什么像IBM这一类的事务处理中间件性能会非常高?...Saga这种模式注意只能保证ACD不保证隔离性。Saga实现上又分协同式Saga和编排式Saga,还要注意幂等和空悬挂等问题。 ?

    58720

    对于分布式事务,我“开门见山”地谈到这些理解,面试官都听懵了

    个人理解: 在2pc之上增加了一层,个人理解这一层是为了辅助超时阶段,因为在preCommit阶段事务已经就剩下提交其他服务也都确认成功,最后每个服务都会启动一个超时计划,到时直接提交而不是等待协调器来...sagas历史好像最开始是阿里收费项目gks,当时看人反汇编代码说实现可能是自动生成回滚代码的tcc,现在看来是saga的模式加全局锁) sega2种回滚方案 backward recovery,向后恢复...即上面提到的第二种执行顺序,其中j是发生错误的sub-transaction,这种做法的效果是撤销掉之前所有成功的sub-transation,使得整个Saga的执行结果撤销。...适用于必须要成功的场景,执行顺序是类似于这样的:T1, T2, ..., Tj(失败), Tj(重试),..., Tn,其中j是发生错误的sub-transaction。...,而服务通过监听数据表来执行业务,当然也可以my直接通知 2者的本质都是将事务进行持久化,然后有个中间系统(宕机后继续事务)保证事务能完成整个流程 最大通知事务 ?

    44620

    微服务场景下的数据一致性解决方案 - saga

    数据一致性是构建业务系统需要考虑的重要问题 , 以往我们是依靠数据库来保证数据的一致性。但是在微服务架构以及分布式环境下实现数据一致性是一个很有挑战的的问题。...我们为客户提供一站式的旅游行程规划服务,这样客户只需要提供出行目的地, 我们帮助客户预订机票、租车、以及预订酒店。...使用Saga的条件 Saga看起来很有希望满足我们的需求。所有长活事务都可以这样做吗?...由于其阻塞机制和最差时间复杂度高, 2PC不能适应随着事务涉及的服务数量增加而扩展的需要。 有关2PC实现的更多细节可参考2和3。...因为在插入记录后服务可能崩溃,我们无法确定是否新事件已发送,所以每个服务还需要额外的事件表来跟踪当前长活事务处于哪一步。 ? 一旦长活事务中的最后一个服务完成其子事务,它将通知它在事务中的前一个服务。

    1.1K20

    《微服务必解之惑:分布式事务方案大揭秘》

    它的核心思想是通过消息队列来实现微服务之间的异步通信,将分布式事务拆分成多个本地事务,利用消息的可靠投递和重试机制来保证最终的数据一致性。...当其中某个本地事务执行失败时,会按照一定的顺序调用之前已执行事务的补偿事务,将系统状态回滚到事务开始之前的状态,从而保证数据的一致性。...假设在处理支付时出现了问题,支付事务执行失败,那么Saga模式会先调用库存扣减的补偿事务,将库存恢复到原来的数量,然后再调用订单创建的补偿事务,取消订单记录,这样就可以保证整个系统的数据一致性。...Saga模式的优点是对系统的性能影响较小,因为它不需要像2PC、3PC那样长时间锁定资源,各个本地事务可以异步执行。而且它的灵活性较高,可以根据不同的业务场景和需求,自定义补偿事务的逻辑。...无论是传统的2PC、3PC协议,还是现代的基于消息队列、Saga模式、TCC模式等解决方案,都有其各自的优缺点和适用场景。

    11210

    微服务分布式事务Saga模式简介

    该文是基于《微服务模式》作者Chris Richardson的QCONSF 2017会议上的PPT文章(这里)和其 Eventuate Tram Saga框架之上,对Saga模式进行的原理性解说,其中包含...,但是在Saga这种BASE模式下,是无法实现像2PC回滚的,因为2PC是同步的,而Saga是异步的。...第二种方案是推荐的,也就是在创建Saga之时,并不是等这个Saga流程完成时候,就发送响应给客户端,当然客户端可能只会得到一个事务ID号,并没有得到如期的处理结果,但是这样数据一致性比较弱的情况下,我们能获得很高的可用性...客户端可以根据事务ID号再次查询处理结果(通过浏览器异步调用或服务器端推送都可以),比如之前调用createOrder(),获得order的id,然后,根据这个id号调用getOrder(id),这样就能获得自己创建的订单...无中心协调者的Saga方式需要使用事件概念,比如订单服务发布订单创建事件到客户服务那里,客户服务发布授信通过或不通过事件给订单服务。

    2K20

    出席分布式事务Seata 1.0.0 GA典礼

    简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。...Saga模式: 提供长事务和服务编排解决方案。 高可用: 支持基于数据库存储的集群模式,水平扩展能力强。 高扩展性: 支持各类配置中心、注册中心、序列化、存储、协议序列化、负载均衡等SPI扩展。...能力边界 业务无侵入 业务侵入 AT TCC XA Saga TCC模式 TCC 模型是把锁的粒度完全交给业务处理,它需要每个子事务业务都实现Try-Confirm / Cancel 接口。...基础原理 核心思想是将长事务拆分为多个本地短事务,由 Saga 事务协调器协调,如果正常结束那就正常完成,如果某个步骤失败,则根据相反顺序一次调用补偿操作 Hector & Kenneth 发表论⽂ Sagas...(1987) 使用场景 业务流程长,业务流程多 参与者包含其他公司或遗留系统服务,无法提供TCC模式要求的三个接口 典型业务系统: 如金融网络(与外部机构对接)、互联网微贷、渠道整合、分布式架构下服务集成等业务系统

    53120

    saga分布式事务_本地事务和分布式事务

    分布式事务:在分布式系统中一次操作需要由多个服务协同完成,这种由不同的服务之间通过网络协同完成的事务称为分布式事务 一、2PC: 2PC,两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段...也就是 Cancel 执行时如果发现没有对应的事务 xid 或主键时,需要返回回滚成功,让事务服务管理器认为已回滚。...在事件编排方法中,第一个服务执行一个事务,然后发布一个事件,该事件被一个或多个服务进行监听,这些服务再执行本地事务并发布(或不发布)新的事件。...如果事务涉及 2 至 4 个步骤,则非常合适使用事件编排方式,它是实现 Saga 模式的自然方式,它很简单,容易理解,不需要太多的代码来构建。...4、Saga事务的优缺点: (1)命令协调设计的优缺点: ① 优点: 服务之间关系简单,避免服务间循环依赖,因为 Saga 协调器会调用 Saga 参与者,但参与者不会调用协调器。

    2.9K30

    我还不懂什么是分布式事务

    换成比较容易理解的话就是,就是一组操作比如增删改查四个操作要么都成功,要么都失败,不存结果不一致的状态。 我不懂什么是分布式事务 终于弄明白什么是事务了,又来了分布式事务。为什么需要分布式事务呢?...SAGA 理论基础(点击查看原论文):Hector & Kenneth 发表论文Sagas (1987) Saga模式提供的是长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者...适用场景: 业务流程长、业务流程多 参与者包含其它公司或遗留系统服务,无法提供 TCC 模式要求的三个接口 Saga主要思想是依赖于状态机转换,长事务拆分成多个短事务,依次执行短事务 如果某个短事务失败...,则按照前面执行顺序的逆序执行补偿事务 这种模式还少使用的,实现也是比较复杂,同时流程很长,当遇到类似场景时还是需要仔细考虑是否有必要去实现分布式事务呢?...执行业务的时候 将业务的执行和将消息放入消息表中的操作放在同一个事务中,这样就能保证消息放入本地表中业务肯定是执行成功的。 然后再去调用下一个服务,如果成功了,消息表的消息状态可以直接改成已成功。

    54920

    分布式事务的补偿机制:深入理解Saga模式

    我们再次聚焦在分布式事务问题上。在上一篇文章中,我们详细探讨了两阶段提交(2PC)方案。然而,两阶段提交也有其局限性,比如需要一个非常可靠的协调者,以及协调者崩溃时可能会造成系统阻塞。...二、Saga模式是如何工作的? 正常流程:在Saga模式下,每个事务都按顺序执行。如果所有事务都成功,那么Saga就执行成功。 异常处理:如果在执行Saga的过程中,某个事务失败,那么就触发补偿流程。...补偿流程会执行所有已成功的事务的对应补偿事务,按照他们的执行顺序的相反顺序执行,把数据状态回滚到执行Saga之前的状态。...三、Saga模式的优劣 优点:Saga模式很好地解决了分布式事务的问题,特别是在微服务架构中,每个服务都可以独立地处理自己的事务和补偿事务,不需要一个集中的协调者。...虽然有一些挑战,但是通过深入理解和精心设计,我们可以用Saga模式来构建出强大、健壮的分布式系统。 希望这篇文章能帮助你更好地理解分布式事务的补偿机制——Saga模式。

    2K10

    数据齐舞:深入浅出分布式事务的八奇技

    例如,一个全球性的银行可能需要在不同国家的分支机构之间处理账户转账,这时3PC可以减少在网络延迟或某个分支机构失去响应时的影响。...每个本地事务执行成功后,会发送消息触发下一个事务的执行。如果某个本地事务失败,Saga 会执行一系列补偿操作(回滚之前的操作)来保持数据的一致性。...但如果在预订租车服务时失败了,那么 Saga 会开始执行补偿操作: 取消酒店预订。 取消机票预订。 通过这种方式,Saga 确保了用户不会因为部分服务预订失败而损失金钱或留下未处理的预订。...在选择使用 Saga 模式时,需要仔细考虑业务场景是否适合最终一致性,以及是否能够有效地实现和管理补偿逻辑。对于那些需要高度一致性保证的场景,可能需要考虑其他事务管理机制。...本地消息表是 ebay 公司提出的事务解决方案,它的核心原理是将需要分布式处理的任务通过消息日志的方式来异步执行。消息日志可以存储到本地文件、数据库或消息队列,再通过业务规则或人工发起重试。

    22010

    交易系统架构演进之路(四):分布式事务

    那么,我们来考虑下单的场景,用户下委托单的时候,主要有三步操作:一是冻结金额,二是新增订单,三是投递给到撮合引擎。这三步需要保证事务的一致性。在服务和数据库都不拆分的情况下,是很容易满足的。...TM 与 RM 之间实现事务的完成和回滚,是使用了 2PC(Two-Phase Commit) 协议——即两阶段提交协议来实现的。...理论上,补偿方法是必须要成功的,如果执行补偿操作时,因为服务器宕机或网络抖动等原因导致补偿失败,那就需要对补偿方法也进行重试,如果重试依然失败,那就需要人工介入进行处理了。...其实,前两步用 TCC 保证同步事务的一致性,而第三步用本地消息表来异步确保消息的可靠投递,这样的处理是可以的。但必须前两步的事务执行成功后,才把消息写入消息表。...另外,如果系统的开发语言不是 Java 的话,那大概率是需要自己来实现解决分布式事务的。 最后,我上面所说的不一定都是对的,如果有讲错或遗漏的地方,欢迎留言并指出。 ----

    1.2K30

    浅析分布式事务及解决方案

    在系统拆分,微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现,服务调用的分布式事务问题变的非常突出。这里我们就简要的理一下关于分布式事务的处理。...这样就和其他接到abort命令并执行回滚的参与者之间存在数据不一致的情况。...适用于必须要成功的场景,执行顺序是类似于这样的:T1, T2, ..., Tj(失败), Tj(重试),..., Tn,其中j是发生错误的sub-transaction。该情况下不需要Ci。...Saga的核心就是补偿,一阶段就是服务的正常顺序调用(数据库事务正常提交),如果都执行成功,则第二阶段则什么都不做;但如果其中有执行发生异常,则依次调用其补偿服务(一般多逆序调用未已执行服务的反交易)来保证整个交易的一致性...TCC事务的处理流程与2PC两阶段提交类似,不过2PC通常都是在跨库的DB层面,而TCC本质上就是一个应用层面的2PC,需要通过业务逻辑来实现。

    57120

    「微服务架构」微服务架构中的数据一致性

    在本文中,我想分享一些我为使微服务之间的数据最终保持一致而学到的技术。 为什么实现这一目标如此具有挑战性?...以自动且无障碍的方式解决该问题的一种尝试是实现两阶段提交(2PC)模式的XA协议。但在现代高规模应用中(特别是在云环境中),2PC似乎表现不佳。...为了消除2PC的缺点,我们必须交易ACID for BASE并根据要求以不同方式覆盖一致性问题。 Saga模式 在多个微服务中处理一致性问题的最着名的方法是Saga模式。...您可以将Sagas视为多个事务的应用程序级分布式协调。 根据用例和要求,您可以优化自己的Saga实施。 相反,XA协议试图涵盖所有场景。 Saga模式也不是新的。...在这种情况下,用户可能会收到错误消息,并且应该触发补偿逻辑,或者 - 当处理异步用户请求时,应该恢复执行逻辑。 要查找崩溃的事务并恢复操作或应用补偿,我们需要协调来自多个服务的数据。

    1.1K20

    不就是分布式事务,这下彻底清楚了😎

    XA协议采用两阶段提交方式来管理分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。...但是,使用TCC,原本一个方法,现在却需要三个方法来支持,可以看到 TCC 对业务的侵入性很强,而且这种模式并不能很好地被复用,会导致开发量激增。...和本地事务undo log有点像,出问题了,逆向操作来挽救。...Tn 异常情况:T1 T2 T3 C3 C2 C1 Saga两种恢复策略 向后恢复,如果任意本地子事务失败,补偿已完成的事务。如异常情况的执行顺序T1 T2 Ti Ci C2 C1....Seata 也是从两段提交演变而来的一种分布式事务解决方案,提供了 AT、TCC、SAGA 和 XA 等事务模式,我们来看一下AT模式。

    72530
    领券