GTS属于分布式事务中间件,是阿里的研发出来的,在微服务架构中分布式事务提供一站式解决方案GTS优势
性能强
GTS解决事务ACID特性与高性能、高可用、低侵略的问题。单事务分支平均响应在2ms,一般3个服务器组成集群
足够支撑3w个TPS以上的分布式事务请求
侵入性低
GTS对业务侵入低,业务代码最少的情况下只需要添加注解一个 @TxcTransaction 声明事务就得了
事务与业务分离,将微服务从事务中解放,微服务关注点在业务 无需考虑反向接口,幂等、回滚策略等复杂问题
有效降低微服务开发难度和繁杂的工作量
完整解决方案
GTS支持多种主流服务框架 其中DUBBO SpringClod应用
GTS的MT模式下等价于TCC模式,用户可以根据业务需求自定义每个事务阶段具体行为。MT模式提供很多灵活的自定义优化与特殊功能满足特殊的应用场景
容错率高
GTS解决XA事务协调器单点问题。可以做到高可用保证各种异常能严格保持一致
GTS应用场景
涉及服务调用多个领域,泛指金融支付,电信,电子商务,快递物流,广告营销,即时社交通信,手游,
物流网等应用业务
GTS与微服务集成
GTS客户端(GTS Client)、资源管理器(GTS RM)和事务协调器(GTS Server)三个部分。
Client用来界定事务边界,完成发起和结束提交。RM负责完成事务分支行为包括创建提交回滚等操作。
Server负责分布式事务的整体推进,事务生命周期管理。
GTS输出形式
公有云输出、
这种输出形式面向阿里云用户。阿里云处理用户业务系统的事务。统一治理保持服务调用一致性达到最佳的性能
公网输出、
这种输出面向非阿里用户,在正常网络环境下,连接互联网即可享受GTS云服务。事务完成时间短并发强
专有云输出。
这种面向自己专用云平台的大用户。GTS部署到专用云上面提供分布式事务服务。性能与稳定需要经过用户自身严格检测。
GTS使用方式
使用简单,例如订单功能应用,通过调用订单服务与库存服务完成订单。服务开发框架使用DUbbo
准备数据库环境
安装MySQL,创建两个数据库db1和db2。在db1和db2中分别创建txc_undo_log表(SQL脚本见4.7.3)。在db1库中创建user_money_a表,在db2库中创建user_money_b表。
下载样例
将sample-txc-simple文件下载到本地,样例中已经包含了GTS的SDK。
修改配置
打开sample-txc-simple/src/main/resources目录下的txc-client-context.xml,将数据源的url、username、password修改为实际值。
运行样例
在sample-txc-simple目录下执行build.sh编译本工程。编译完成后执行run.sh。
- 编译程序在工程根目录执行 build.sh 命令,编译工程。编译后会在 sample-txc-dubbo/client/bin 目录下生成 order_run.sh、stock_run.sh、client_run.sh 三个运行脚本对应订单服务、库存服务以及客户端。
- 运行程序
GTS是阿里巴巴研发的分布式事务中间件,提供高性能、低侵入性的事务处理。通过@TxcTransaction注解实现事务管理,支持DUBBO、SpringCloud等框架,具备高可用性和容错能力。适用于金融、电商等多个行业。GTS分为Client、RM和Server三部分,用户可通过公有云、公网或专有云方式使用。示例展示了在Dubbo框架下如何配置和运行GTS。
1414

被折叠的 条评论
为什么被折叠?



