活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 聚力AI赋能 天翼云大模型专项 大模型特惠专区·Token Plan 轻享包低至9.9元起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 企业出海解决方案 NEW 助力您的业务扬帆出海,通达全球!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
星辰TokenHub
  • 模型广场
  • 体验中心
  • 服务接入
星辰MaaS平台
  • 星辰MaaS智能体平台
  • 星辰大模型
大模型
  • glm-5.3-flash
  • GLM-5.2
  • deepseek-v4-pro-0813
  • deepseek-v4-flash-0731-new
  • qwen3.8-flash
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
应用托管
  • 天翼云DramaFlow2.0
  • 应用实例
科研助手
  • 开发机
  • 并行计算
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
智能体引擎
  • 智能体引擎
可信数据空间
  • 可信数据空间
公共算力服务
  • 裸金属
  • 定制裸金属
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入AI Store公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 智教云电脑
  • WPS 365 天翼云版
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)
  • 琥珀数据压缩归档服务
智慧教育
  • 智擎思政平台(个人版)
  • 智擎研学平台(个人基础版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2026智能云生态大会
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      微服务引擎

      微服务引擎

      • 微服务引擎

      无数据

        • 产品动态
        • 服务公告
        • 2025年
        • 【重要】默认安全组策略优化调整
        • 产品简介
        • 产品定义
        • 产品优势
        • 产品特性
        • 应用场景
        • 注册配置中心
        • 云原生网关
        • 微服务治理中心
        • 产品规格
        • 注册配置中心
        • 云原生网关
        • 微服务治理中心
        • 名词解释
        • 注册配置中心
        • 云原生网关
        • 微服务治理中心
        • 使用限制
        • 购买指南
        • 计费说明
        • 注册配置中心计费说明
        • 云原生网关计费说明
        • 微服务治理中心计费说明
        • 订购与退订
        • 欠费与续费说明
        • 快速入门
        • 注册配置中心
        • 注册配置中心快速接入示例
        • 微服务注册配置中心使用说明
        • 创建Nacos实例
        • 创建ZooKeeper引擎
        • 创建Eureka引擎
        • 云原生网关
        • 云原生网关最简应用
        • 使用云容器引擎接入云原生网关
        • 使用云原生网关实现后端双向TLS认证
        • 使用云原生网关实现后端访问签名
        • 使用云原生网关实现websocket流量代理
        • 微服务治理中心
        • 微服务治理入门概述
        • ECS微服务应用接入MSE治理中心
        • 云容器引擎应用接入微服务治理中心
        • 15分钟完成微服务治理中心能力快速体验
        • ECS集群15分钟快速体验
        • 云容器引擎集群15分钟快速体验
        • 如何在微服务治理中添加自定义接口实现流量防护
        • 用户指南
        • 注册配置中心
        • 实例管理
        • 网络管理
        • 安全组切换
        • 主子账号
        • 迁移上云
        • 服务端负载均衡
        • 资源标签
        • Nacos
        • 版本特性
        • Nacos风险管理
        • Nacos SDK应用和限制
        • 管理命名空间
        • 设置黑白名单
        • 管理服务
        • 推送轨迹
        • 配置管理
        • 配置加密
        • 引擎监控
        • 告警管理
        • Nacos引擎访问权限
        • 服务权重
        • MCP服务管理
        • 细粒度鉴权
        • ZooKeeper
        • ZooKeeper的使用场景和MSE ZooKeeper的优势
        • 版本特性
        • 节点扩容
        • 数据管理
        • 重置ZooKeeper集群数据
        • 数据导入导出
        • 数据轨迹
        • 监控引擎
        • 服务管理
        • 健康风险检测
        • 设置引擎参数
        • 告警管理
        • SASL认证
        • 设置黑白名单
        • Eureka
        • 版本特性
        • 服务管理
        • 引擎监控
        • 告警管理
        • 数据备份与恢复
        • 实例参数管理
        • 审计日志
        • 云原生网关
        • 网关管理
        • 新建云原生网关
        • 查看网关详情
        • 查看网关监控数据
        • 管理网关入口ELB
        • 网关配置
        • 网关扩容
        • 网关续订
        • 网关退订
        • HTTP2.0支持
        • 服务来源管理
        • 服务列表
        • 域名管理
        • 路由配置
        • 路由概述
        • 路由匹配规则
        • 新建路由规则
        • 变更路由规则
        • 发布路由规则
        • 下线路由规则
        • 删除路由规则
        • 查看路由详情
        • 路由策略配置
        • 路由在线调试
        • 安全管理配置
        • 设置IP黑白名单
        • 配置全局JWT认证策略
        • 配置全局OIDC认证策略
        • Ingress管理
        • Ingress概述
        • Ingress配置接入指南
        • 监控分析
        • 链路追踪
        • 监控分析
        • 资源监控
        • 日志中心
        • 插件市场
        • 插件概述
        • 全局插件
        • 路由级插件
        • 插件类型及代码对照表
        • 插件说明与使用介绍
        • API托管
        • 概述
        • 消费者管理
        • 消费者(应用)管理
        • 如何授权消费者调用API
        • 消费者调用API签名计算
        • 后端服务
        • 后端服务管理
        • 分组管理
        • 分组管理
        • 绑定域名
        • 绑定插件
        • 环境变量
        • 网关响应
        • 模型管理
        • 导出API
        • API管理
        • API管理
        • 绑定插件
        • API授权
        • 发布历史
        • API监控
        • API调试
        • 导入API
        • 资源标签
        • 审计日志
        • 微服务治理中心
        • 微服务环境管理
        • 服务查询
        • 查询服务
        • 查询服务契约
        • 应用治理
        • 应用概览
        • 流量治理
        • 金丝雀发布
        • 标签路由
        • 无损上线
        • 无损下线
        • 离群摘除
        • 服务降级
        • 错误注入
        • 消息灰度
        • 推空保护
        • 流量防护
        • 概述
        • 配置流控规则
        • 配置隔离规则
        • 配置熔断规则
        • WEB场景防护
        • 配置主动降级规则
        • 配置自适应流控
        • 配置热点规则
        • 配置WEB行为
        • 配置RPC行为
        • 数据库治理
        • 基本详情
        • SQL详情
        • 数据库灰度
        • 数据库读写路由
        • 连接池治理
        • 功能开关
        • 开发测试治理
        • 服务测试
        • 自动化回归-用例管理
        • 自动化回归-用例集
        • 服务Mock
        • 网关治理
        • 概述
        • 接口详情
        • 节点详情
        • 流量治理
        • 流量防护
        • 全链路灰度
        • 安全治理
        • 运维中心
        • 系统管理
        • 权限管理
        • 资源标签管理
        • 权限管理
        • API参考
        • API使用说明
        • 最佳实践
        • 注册配置中心
        • 应用迁移
        • 注册中心迁移
        • 配置中心迁移
        • Zookeeper持久化数据的迁移
        • 应用开发
        • 注册配置中心高可用最佳实践
        • 如何在MSE上为Spring Cloud应用构建服务注册中心?
        • 如何在MSE上为Dubbo应用构建服务注册中心?
        • Nacos引擎Golang客户端接入文档
        • Nacos引擎Python客户端接入文档
        • Nacos引擎NodeJS接入文档
        • 使用云原生网关实现蓝绿、金丝雀发布及AB实验
        • 通过自建网关实现全链路灰度
        • 基于消息队列RocketMQ实现全链路灰度
        • 基于微服务治理中心实现无损上线与无损下线
        • 基于Ingress-APISIX网关实现全链路灰度
        • 如何使用TCC模式接入全局事务服务
        • 常见问题
        • 注册配置中心
        • 注册配置中心资源权限问题
        • 注册配置中心配置问题
        • 注册配置中心实例问题
        • 如何在不同账号之间迁移实例?
        • Nacos FAQ
        • Zookeeper FAQ
        • Eureka FAQ
        • 云原生网关
        • 计费类
        • 管理类
        • 微服务治理中心
        • 计费类
        • 操作类
        • 管理类
        • 操作视频
        • 文档下载
        • 操作手册
        • 相关协议
        • 微服务引擎产品服务协议
        • 微服务引擎服务等级协议
          无相关产品

          本页目录

          帮助中心 微服务引擎 最佳实践 如何使用TCC模式接入全局事务服务
          如何使用TCC模式接入全局事务服务
          更新时间 2026-10-10 11:03:02
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2026-10-10 11:03:02
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本章节介绍如何使用TCC模式接入全局事务服务

          TCC模式是一种高并发性能的全局事务协议,本文主要介绍基于SpringBoot框架的应用使用TCC模式接入GTS服务的主要流程。

          前提条件

          1. 开通GTS服务
          2. 创建事务分组

          条件和约束

          由于TCC模式执行的两阶段操作都由开发者根据业务需要定义,与持久层无关,因此使用TCC模式没有任何条件和约束。

          操作步骤

          步骤一:添加依赖

          准备好您需要接入GTS服务的SpringBoot应用工程,确保SDK包已经成功引入,即下列maven坐标已被添加到pom文件中:

          <dependency>
              <groupId>com.alibaba.cloud</groupId>
              <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
              <exclusions>
                  <exclusion>
                      <artifactId>seata-spring-boot-starter</artifactId>
                      <groupId>io.seata</groupId>
                  </exclusion>
              </exclusions>
          </dependency>
          
          <dependency>
              <groupId>io.seata</groupId>
              <artifactId>seata-spring-boot-starter</artifactId>
              <version>1.7.0</version>
          </dependency>
          
          <dependency>
              <groupId>com.alibaba.cloud</groupId>
              <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
              <exclusions>
                  <exclusion>
                      <groupId>com.alibaba.nacos</groupId>
                      <artifactId>nacos-client</artifactId>
                  </exclusion>
              </exclusions>
          </dependency>
          
          <dependency>
              <groupId>com.alibaba.nacos</groupId>
              <artifactId>nacos-client</artifactId>
              <version>2.1.0</version>
          </dependency>
          
          <dependency>
              <groupId>com.ctg.mse</groupId>
              <artifactId>nacos-client-aksk-auth-plugin</artifactId>
              <version>1.0.0</version>
          </dependency>
          

          步骤二:添加GTS事务分组配置

          进入GTS控制台下的事务分组列表,在您创建的事务分组右侧点击“显示配置”,粘贴文本框中的所有配置。在您工程中的application.properties配置文件中添加这些配置项。若您使用application.yaml,则需要将配置项修改为对应的格式。

          图片15.png

          步骤三:添加全局事务注解

          在您需要实现全局事务的业务范围的方法上方,标注@GlobalTransactional注解。在TCC模式下,在方法抛出异常时GTS不会自动去回滚全局持久化操作,而是会执行TCC两阶段操作中的Cancel操作。在方法正常执行时,会执行TCC两阶段操作中的Commit操作。下文会介绍两阶段操作的具体定义,以及如何将原先的业务拆分为两阶段操作。

          图片16.png

          步骤四:将业务拆分成两阶段操作

          在TCC模式中,原先每一个应用的业务都需要被拆分为两阶段操作(Try和Commit / Rollback)。因此,需要为自己的业务定义两阶段操作的具体执行内容,本实例演示将一个简单的订单插表操作分解为三部分:Try、Commit和Rollback。

          首先,定义两阶段操作接口,在接口上方标注@LocalTCC注解进行激活。在下面的TCC业务接口中,prepare方法、commit方法和rollback方法分别对应Try、Commit和Rollback三个操作。

          @LocalTCC
          public interface OrderTccAction {
            
              /**
               * Prepare boolean.
               *
               * @param actionContext the action context
               * @return the boolean
               */
              @TwoPhaseBusinessAction(name = "OrderTccAction", commitMethod = "commit", rollbackMethod = "rollback")
              public boolean prepare(BusinessActionContext actionContext,
                      @BusinessActionContextParameter(paramName = "userId") Long userId,
                      @BusinessActionContextParameter(paramName = "goodsId") Long goodsId,
                      @BusinessActionContextParameter(paramName = "num") Long num);
            
              /**
               * Commit boolean.
               *
               * @param actionContext the action context
               * @return the boolean
               */
              public boolean commit(BusinessActionContext actionContext);
            
              /**
               * Rollback boolean.
               *
               * @param actionContext the action context
               * @return the boolean
               */
              public boolean rollback(BusinessActionContext actionContext);
          }
          

          然后,编写实现类,实现TCC业务接口。通常来说,在Try阶段需要进行数据准备和校验,例如检测订单是否为正常可生成的状态、库存是否充足、余额的冻结等等;在Commit阶段需要进行真正的业务完成,例如生成订单、扣减库存、余额等等;在Cancel阶段需要进行数据恢复,例如将冻结的余额解冻等等。

          @Service
          public class OrderTccActionImpl implements OrderTccAction {
            
              @Autowired
              private JdbcTemplate jdbcTemplate;
            
              @Override
              public boolean prepare(BusinessActionContext actionContext, Long userId, Long goodsId, Long num) {
                  //数据准备阶段,目前什么都不做
                  return true;
              }
            
              @Override
              public boolean commit(BusinessActionContext actionContext) {
                  //业务真正执行阶段
                  Integer userId = (Integer) actionContext.getActionContext().get("userId");
                  Integer goodsId = (Integer) actionContext.getActionContext().get("goodsId");
                  Integer num = (Integer) actionContext.getActionContext().get("num");
                  jdbcTemplate.update("INSERT INTO goods_order ( user_id, goods_id, goods_num ) VALUES ( ?, ?, ? )",
                          new Object[] {userId, goodsId, num});
                  log.info("TccActionTwo commit success");
                  return true;
              }
            
              @Override
              public boolean rollback(BusinessActionContext actionContext) {
                  //回滚,目前什么都不做
                  log.info("TccActionTwo rollback, do nothing");
                  return true;
              }
          }
          

          最后,在标注了@GlobalTransactional注解的方法内部调用上述定义的TCC业务接口的Try方法,即可将这个TCC业务操作作为一个分支事务,纳入到GTS的管控中。

          图片17.png

          在下游应用的相关方法中,使用同样的步骤定义TCC业务接口,并调用Try方法,即可完成分支事务托管。和AT模式相似,下游应用无需再标注@GlobalTransactional注解,但是记得在TCC业务接口上方标注@LocalTCC注解进行激活。

          步骤五:观察执行结果

          您可以在@GlobalTransactional生效的方法内部添加rpc调用,来观察全局事务的执行情况,目前支持的rpc调用形式包括RestTemplate、Feign和Dubbo。事务执行提交或回滚后,可在GTS控制台事务分组列表,对应分组右侧的“监控”处,查看全局事务的运行统计信息。

          图片18.png

          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  基于Ingress-APISIX网关实现全链路灰度
          下一篇 :  常见问题
          搜索 关闭
          ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2026天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明