什么是分布式事务?简单的说,就是一次大操作由不同小操作组成,这些小操作分布在不同服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。
本质上来说,分布式事务就是为了保证不同数据库或消息系统的数据一致性。
早期的阿里巴巴集团随着业务高速发展,内部不断涌现各种典型的分布式事务需求,比如阿里内部广泛使用的TDDL分库分表所带来的分库间数据不一致问题,HSF服务化后所带来的服务链路上数据不一致问题等。在这个过程中,各业务技术团队利用现有中间件技术手段实现分布式事务处理,但这些手段都较为复杂,工作量大,对应用侵入严重,有些适用场景还有限制。
2014年5月开始,阿里中间件(Aliware)内部命名为TXC的分布式事务中间件开始研发,同年10月1.0版本发布,分布式事务功能已经具备,但性能还有局限,只适合于吞吐量较小的场景;2015年12月,TXC 2.0版本发布,相比1.0版本性能提升10倍以上,在阿里内部多条业务线得到部署。
破解世界性技术难题! GTS让分布式事务简单高效在整体架构方面,GTS由三个组件组成:客户端(GTS-Client),资源管理器(RM),事务协调器(GTS-Server)。客户端与事务协调器间,资源管理器与事务协调器间都是通过GTS分布式事务协议进行通信。客户端负责界定事务边界,开启/提交/回滚全局事务,资源管理器负责管理资源,支持的资源包括:DRDS,Oracle,MySQL,RDS,PostgreSQL,H2,MQ,后续计划根据实际业务需求支持更多类型资源。事务协调器,也就是GTS服务器,是分布式事务处理的大脑,负责协调整个事务过程。GTS事务通过RPC框架和消息中间件进行事务传递,把整个业务调用链路或者消息链路串成一个分布式事务,极大简化应用开发。
在高可用方面,GTS支持同城容灾与两地三中心容灾,可保证各种异常情况下的数据一致。在易用性方面,GTS对业务无侵入,真正做到业务与事务分离,开发者可以集中精力于业务本身。在技术创新方面,GTS也走在了行业前沿。项目负责人阿里高级技术专家姜宇(花名于皋)拥有13项分布式事务的核心技术专利,研发团队的技术专家张松树也有3篇专利。通过大量的专利技术,精妙的算法,与精巧的分布式事务私有协议,GTS取得了超强的性能。
网友评论