在企业级互联网架构专场中,来自阿里巴巴的中间件技术专家厉启鹏(寈峰)为现场的听众带来了题为《GTS-分布式事务全新解决方案》的精彩分享。在本次分享中,他重点阐述了GTS如何帮助解决分布式事务问题,包括产品GTS的基本原理、核心优势、应用场景等;介绍了GTS的商业化情况,包括应用案例、商业化后给用户带来的价值提升等。
数十款阿里云产品限时折扣中,,领劵开始云上实践吧! 以下内容根据现场分享整理而成。产品简介
GTS是行业内的第一款也是唯一的一款,专注于解决分布式事务问题的中间件。GTS被定义为一站式的分布式事务解决方案,立足点是解决所有的事务问题。应用开发中遇到的事务问题大致分为四个方面:跨库事务、服务化事务、消息事务、混合事务。
GTS与其他解决方案对比
在GTS出现之前,事务问题的解决方案主要有XA方案,补偿方案,消息方案等。
·XA方案:优点为接口标准化。缺点是阻塞协议,影响系统吞吐和可伸缩性,性能不理想,很难满足互联网大并发需求,缺乏容错机制。 ·补偿方案:优点为符合业务需求。缺点是实现复杂,各种异常情况难于处理,要求每个方法实现一个反向的回滚接口,运维成本高,扩现移植性不理想。 ·消息方案:优点为实现相对简单。缺点是要求应用与消息系统紧耦合,增加开发成本,要求业务实现幂等。最终一致性,适用场景受限。XA方案是在资源层面解决分布式事务的问题。补偿方案和消息方案是在应用层面解决事务问题。GTS既不在资源层面也不在应用层面,而是在中间件的层面解决事务问题。这是GTS和其他三个方案的本质不同点。在中间件层面解决有几个优势:第一,可以解决跨资源的事务问题,这个是XA方案很难做到的。如果业务系统需要访问多个资源,比如多个mysql数据库同时需要访问MYSQL以及HBASE,这个过程产生的事务问题,GTS可以解决。第二,可以解决服务化的事务问题,而且和应用是松耦合的,通过使用GTS微服务不需要嵌入解决事务的逻辑,微服务会更加简单、轻量化。第三,GTS对应用的侵入性非常低,便于应用的扩展和移植。