破解世界性技术难题! GTS让分布式事务简单高效

简介: 分布式系统架构中,分布式事务是一个绕不过去的挑战。什么是分布式事务?简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。


 GTS开启全网公测:https://www.aliyun.com/aliware/txc


背景

分布式系统架构中,分布式事务是一个绕不过去的挑战。什么是分布式事务?简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库或消息系统的数据一致性。

分布式事务是一个世界性技术难题,最难之处在于严格保证数据一致性的情况下很难达到高性能。XA模型的两个代表产品是Oracle的Tuxedo和IBM的CICS,这两个产品都有很长的历史和很高的声望,但在国内没有多少用户,根本原因是什么?价格是一个因素,但不可能是关键因素,任何人都会做“价格”与“量”的取舍,何况是精明的Oracle、IBM。根本原因在于性能。相同软硬件,开启分布式事务则吞吐大幅下降,用户是很难接受的,会转而使用一些最终一致性方案,或放弃事务,通过每天对账进行人工订正。

为了提供一个高性能的通用分布式事务解决方案,阿里中间件(Aliware)团队自主研发了新一代企业级分布式事务产品——全局事务服务GTS(Global Transaction Service)。在满足事务ACID的前提下,普通配置的单服务器可以达到15000 TPS以上的超强性能(两个小时完成1亿多笔业务哦)。


GTS发展历史

GTS产品的内部名称是TXC,从14年5月份开始研发。产品最初目的是解决阿里内部广泛使用的TDDL分库分表所带来的分库间数据不一致问题,和HSF服务化后所带来的服务链路上数据不一致问题。这是典型的分布式事务要求。

14年10月,TXC 1.0发布,分布式事务功能已经具备,性能还有局限,适合于吞吐量较小的场景。15年12月,TXC 2.0发布,性能比1.0提升了10倍以上,在阿里内部多条业务线铺开,并经受了16年双11高并发考验,非常稳定高效。16年年中开始,TXC 2.0随着阿里中间件上云热潮,开始专有云输出,并得到了市场极大认可,已经应用于包括电商、物流、金融、零售、政企、游戏、文娱在内的众多领域,有非常多的重量级用户。17年2月,TXC 2.0上公有云公测,外部名称改为全局事务服务GTS (https://www.aliyun.com/aliware/txc)。

 

产品介绍

GTS支持的资源包括:DRDS,Oracle,MySQL,RDS,PgSQL,H2,MQ。后续计划根据实际业务需求支持更多类型资源。GTS事务可以通过RPC框架和消息中间件进行事务传递,把整个业务调用链路或者消息链路串在一个分布式事务,极大简化应用开发。

GTS支持同城容灾与两地三中心容灾,可以保证各种异常情况下的数据一致。GTS简单易用,对业务无侵入,真正做到业务与事务分离,开发者可以集中精力于业务本身,使用分布式事务时,通过简单加个注解即可完成,如下例所示可以保证两个数据库上的操作在同一个事务:

    @TxcTransaction(timeout = 60000)

    void dataUpdate(Connection con1, Connection con2) {

        update1(con1);

        update2(con2);

    }

 

GTS有很多技术创新,项目负责人高级技术专家姜宇(花名于皋)有13篇分布式事务的核心技术专利,研发团队的技术专家张松树也有3篇专利。通过大量的专利技术,精妙的算法,与精巧的分布式事务私有协议,GTS取得了超强的性能。在满足事务ACID的前提下,3台8c16g虚机组成的高可用服务器集群可以支撑1万TPS以上的分布式事务。与同类产品相比,性能有巨大优势,可以说是技术领域的一个重大突破,将为广大企业大幅降低业务开发成本。GTS适用的典型场景包括:跨多分库的分布式数据库事务场景,跨多数据库的事务场景,跨数据库系统、消息系统的事务场景,和跨服务的事务场景。这都是中大型企业的普遍性需求。GTS 联合企业级互联网架构Aliware旗下多款中间件产品,如EDAS,MQ、DRDS等,助力企业互联网转型。

 

相关文章
|
18天前
|
存储 缓存 负载均衡
从零到一:分布式缓存技术初探
分布式缓存通过将数据存储在多个节点上,利用负载均衡算法提高访问速度、降低数据库负载并增强系统可用性。常见产品有Redis、Memcached等。其优势包括性能扩展、高可用性、负载均衡和容错性,适用于页面缓存、应用对象缓存、状态缓存、并行处理、事件处理及极限事务处理等多种场景。
52 1
|
22天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
58 2
|
2月前
|
监控 算法 网络协议
|
2月前
|
供应链 算法 安全
深度解析区块链技术的分布式共识机制
深度解析区块链技术的分布式共识机制
63 0
|
3月前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
这篇文章讲述了作者因为一个检索问题而学习了ElasticSearch技术,并分享了排查和解决ElasticSearch检索结果与页面展示不符的过程。
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
|
4月前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
|
5月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
114 5
|
5月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
117 0
|
5月前
|
存储 负载均衡 中间件
构建可扩展的分布式数据库:技术策略与实践
【8月更文挑战第3天】构建可扩展的分布式数据库是一个复杂而具有挑战性的任务。通过采用数据分片、复制与一致性模型、分布式事务管理和负载均衡与自动扩展等关键技术策略,并合理设计节点、架构模式和网络拓扑等关键组件,可以构建出高可用性、高性能和可扩展的分布式数据库系统。然而,在实际应用中还需要注意解决数据一致性、故障恢复与容错性以及分布式事务的复杂性等挑战。随着技术的不断发展和创新,相信分布式数据库系统将在未来发挥更加重要的作用。