应用管理与运维平台 ServiceStage应用管理与运维平台 ServiceStage

更新时间:2021/09/03 GMT+08:00
分享

常用概念

事务关系

分布式事务(Distributed Transaction),是指涉及两个甚至更多服务节点的事务,例如一个银行A向B转账的分布式事务就包括:银行A的转出操作和银行B的转入操作,分布式事务需要保证所有操作要么全部成功,要么全部失败。在DTM中,分布式事务也称之为全局事务(Global Transaction),而一个全局事务,是由多个分支事务(Branch Transaction)所构成。通常,一个分支事务,对应于一个数据库本地事务。彼此间关系如图1所示。

图1 事务关系

事务角色

DTM提供了定义业务场景中的事务发起者与事务参与者的方法。

  • 事务发起者:使用了发起全局事务的入口方法。入口方法的生命周期,即是事务发起者的生命周期。
  • 事务参与者:被事务发起者所调用而被动参与到全局事务中的方法。被调用方法的生命周期,即是事务参与者的生命周期。

分布式事务模式

DTM支持非侵入事务和TCC事务。

  • 非侵入事务,基于应用层实现的一种对业务逻辑无侵入的事务模型。
  • TCC(Try-Confirm-Cancel)事务,又称补偿事务,其核心思想是针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)。它分为3个操作:
    1. Try阶段:主要是对业务系统做检测及资源预留。
    2. Confirm阶段:确认执行业务操作。
    3. Cancel阶段:取消执行业务操作。

    confirm回调方法和cancel回调方法需要保证幂等性。

分享:

    相关文档

    相关产品