破解世界性技术难题! 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等,助力企业互联网转型。

 

相关文章
|
3月前
|
运维 负载均衡 Dubbo
分布式技术之dubbo
分布式技术之dubbo
38 0
分布式技术之dubbo
|
3月前
|
消息中间件 Java 网络安全
JAVAEE分布式技术之Zookeeper的第一次课
JAVAEE分布式技术之Zookeeper的第一次课
70 0
|
13天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
26天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
31 0
|
26天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
26天前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
56 1
|
26天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
48 0
|
26天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
76 0
|
26天前
|
缓存 应用服务中间件 数据库
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
30 1
|
1月前
|
存储 分布式计算 大数据
现代化数据库技术——面向大数据的分布式存储系统
传统的关系型数据库在面对大规模数据处理时遇到了诸多挑战,而面向大数据的分布式存储系统应运而生。本文将深入探讨现代化数据库技术中的分布式存储系统,包括其优势、工作原理以及在大数据领域的应用。

热门文章

最新文章