GTS 从 2.8.18 版本开始支持 Dubbo。您无需再关心全局事务上下文 XID 在服务调用链路上的传播,进一步简化了编程模型。
前提条件
- 准备两个 RDS 实例,用户创建数据库。
- 准备一个 ECS 实例,用于部署本样例。
实现原理
基于 Dubbo 的 Filter 机制,GTS 的 SDK 内置了专门用于在调用链路上传播事务上下文的 TransactionPropagationFilter
,有需要有用户可以对这个类进行 DEBUG 来了解事务传播的机制。
说明
- Java 运行环境的最低要求是 1.8。
- 只支持 2.7.0 及以上版本的 Dubbo,即
org.apache.dubbo
Group 的 Dubbo。
样例逻辑说明
该样例模拟了用户下订单、减库存的业务逻辑。客户端(Client)通过调用订单服务(OrderService)创建订单,之后通过调用库存服务(StockService)扣库存。其中在订单服务读写订单数据库、库存服务读写库存数据库过程中,GTS 将保证跨服务事务的一致性。