DRDS 上使用 GTS 与注解方式不同,无需引入 GTS 依赖和 GTS 注解。除了需要在开始分布式事务的地方加上 select last_txc_xid() 外,其它使用方式和传统单机数据库事务完全一致。
DRDS 上使用 GTS 有两种情况:
仅在 DRDS 实例上实现分布式事务,且不依赖 EDAS 等其它中间件,即希望像使用单机数据库事务一样在 DRDS 上使用分布式事务。
那么可以采用本节的方式接入 GTS。开发时可以参考 sample-txc-drds 样例工程。
在使用 DRDS 同时,还需要配合使用 EDAS 等其它中间件。
请参考注解使用方式中的 EDAS 接入方法,开发时可以参考样例工程 sample-txc-edas(DRDS 当做普通单机数据库)。
注意:这种方式,需要 EDAS 上已经配置 DRDS 数据库。
DRDS 使用 GTS,包含以下两个步骤:
在 DRDS 控制台开启分布式事务(GTS)。
配置 GTS 事务接入。
DRDS 上使用 GTS 不需要引入 GTS 的 SDK,因为 GTS 和 DRDS 进行了深度结合,仅需要一行 select last_txc_xid() 语句就能够在 DRDS 触发一个分布式事务的开启。
除了上述手工开启、配置 GTS 的方式外,还可以通过样例工程在 DRDS 上使用 GTS。详细步骤,请参考本章样例工程。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云的分布式关系型数据库服务(DRDS)中集成全局事务服务(GTS)是为了确保跨分片操作的数据一致性。您提到的两种使用场景和步骤概述了如何在不同的应用架构下利用GTS来管理DRDS上的分布式事务,下面我将这些信息进一步细化以便于理解:
适用场景: 当您的应用仅需在DRDS上实现分布式事务,不涉及其他中间件如EDAS时。
SELECT last_txc_xid()
来获取并标记当前事务的XID,这一步骤实质上是通知GTS事务的开始。sample-txc-drds
样例工程,了解具体代码实现细节。适用场景: 如果您的应用部署在EDAS或其他中间件上,并且DRDS作为数据存储层。
@GlobalTransactional
)来声明事务边界,这种方式要求在项目中引入GTS的依赖。sample-txc-edas
样例工程,该示例展示了如何在EDAS环境下,将DRDS当作普通数据库使用的同时,利用GTS管理事务。综上所述,DRDS集成GTS提供了灵活的分布式事务解决方案,无论是独立使用还是与其他阿里云服务配合,都能有效保障分布式环境下的数据一致性。开发者应根据实际的应用架构和技术栈选择合适的接入方式。