近日,2017云栖大会·深圳峰会如期举行,多项阿里云新产品对外发布。特别在3月29日下午企业级互联网架构分会场,来自阿里中间件(Aliware)的技术专家及合作伙伴,为现场参会嘉宾带来最新的传统IT架构到企业级互联网架构跨越式升级、实现互联网转型的产品及解决方案。其中高级技术专家姜宇在分享中带来的Aliware新产品—全局事务服务(Global Transaction Service ,简称GTS),在分布式事务处理上带来的高性能和技术创新令到场参会的各路技术专家眼前一亮。 Aliware新成员—全局事务服务GTS技术分享现场 分布式事务背景 OLTP领域中很多业务场景都会面临事务一致性的需求,传统业务系统常以单体应用形式存在,只需借助特有数据访问技术和框架,结合关系型数据库自带的事务管理机制来实现事务一致性的要求。而目前大型互联网应用和平台往往是由一系列分布式系统构建而成,平台和技术架构也是流派纷呈。尤其是微服务架构盛行的今天,一个看似简单的功能,内部可能需要调用多个“服务”并操作多个数据库或分片来实现,单一技术手段和解决方案已无法满足这些复杂应用场景。因此,分布式系统架构中分布式事务是一个绕不过去的挑战。什么是分布式事务?简单的说,就是一次大操作由不同小操作组成,这些小操作分布在不同服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库或消息系统的数据一致性。 分布式事务三大难题:一致性、高性能和易用性 分布式系统的事务一致性本身是一个技术难题,没有一种简单完美的方案能够应对所有场景,很难兼顾事务一致性,高性能与易用性。三者缺一,则适用场景大大受限,实用价值不高。 首先是一致性:要求在各种异常情况下保证数据是强一致的。目前最常见的一致性解决方案是最终一致性方案,通常是结合消息中间件实现,在互联网企业中广泛使用。最终一致性实现方案比较复杂,开发、运维成本高,并且与强一致相比,业务上是受很多限制的。 其次是高性能:目前基于XA协议的两阶段提交是最常见的分布式事务解决方案,但XA类产品的典型不足是性能低下,这对于互联网大并发需求下的多数企业是无法接受的。国外具有几十年历史和技术沉淀的基于XA模型的商用分布式事务产品,在相同软硬件条件下,开启分布式事务后吞吐经常有数量级的下降。 第三是易用性:为了满足一致性和高性能要求,出现了一些特定场景下的分布式事务方案,但通常会限制用户用法,对业务侵入性强,无法做到简单易用,带来更多开发成本。 世界级应用场景,催生世界级分布式事务解决方案 早期的阿里巴巴集团随着业务高速发展,内部不断涌现各种典型的分布式事务需求,比如阿里内部广泛使用的TDDL分库分表所带来的分库间数据不一致问题,HSF服务化后所带来的服务链路上数据不一致问题等。在这个过程中,各业务技术团队利用现有中间件技术手段实现分布式事务处理,但这些手段都较为复杂,工作量大,对应用侵入严重,有些适用场景还有限制。2014年5月开始,阿里中间件(Aliware)内部命名为TXC的分布式事务中间件开始研发,同年10月1.0版本发布,分布式事务功能已经具备,但性能还有局限,只适合于吞吐量较小的场景;2015年12月,TXC 2.0版本发布,相比1.0版本性能提升10倍以上,在阿里内部多条业务线得到部署。通过部署TXC,应用只需极少的代码改造和配置,即可享受分布式事务带来的便利。TXC作为阿里内部为解决分布式数据强一致性问题而研发的分布式事务中间件,彻底解决了分布式事务数据一致性的问题,简单易用,先后在淘宝,菜鸟,淘票票和村淘等多个业务的核心系统上得到部署和验证。 顺应云时代潮流,GTS应运而生 (责任编辑:本港台直播) |