本文主要是介绍全局事务服务 GTS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1.什么是全局事务服务GTS
2.为什么需要全局事务服务
3.产品架构
4.应用场景
SOA 和分布式事务
消息事务
通用分布式事务管理
共享出行
5.产品功能
跨数据库分布式事务
跨服务的分布式事务
消息队列分布式事务
混合的分布式事务
多种事务模式
6.产品优势
超强性能
高可用
多数据库支持
使用便捷
1.什么是全局事务服务GTS
全局事务服务GTS(Global Transaction Service)用于实现分布式环境下,特别是微服务架构下的高性能事务一致性。可以与RDS、MySQL、PostgreSQL等数据源,Spring Cloud、Dubbo、HSF及其他RPC框架,MQ消息队列等中间件产品配合使用,轻松实现分布式数据库事务、多库事务、消息事务、服务链路级事务及各种组合。
2.为什么需要全局事务服务
一个完整的业务往往需要调用多个子业务或服务,随着业务的不断增多,涉及的服务及数据也越来越多,越来越复杂。传统的系统难以支撑,出现了应用和数据库等的分布式系统。分布式系统又带来了数据一致性的问题,从而产生了分布式事务。
3.产品架构
分布式事务是指事务发起者、资源管理器、事务协调者及资源分别位于不同分布式系统的不同节点之上。
GTS的架构如下图所示。
- GTS服务端:即事务协调器。负责分布式事务的推进,管理事务生命周期。
- GTS客户端:即事务发起者。通过事务协调器,开启、提交、回滚分布式事务。同时还包含部分资源管理器组件,负责管理和控制资源,与GTS服务器进行交互。
- 服务框架:GTS可以和服务框架配合使用,管理服务框架中的事务。服务框架可以集成资源管理器组件,管理和控制资源。
- 资源:包括RDS、DRDS 5.2.x、Oracle 19c、MySQL数据库,以及MQ消息事务。
在单机数据库下很容易维持事务的ACID(Atomicity、Consistency、Isolation和Durability)特性,但在分布式系统中并不容易,GTS可以保证分布式系统中分布式事务的ACID特性。
4.应用场景
GTS 可应用在多个领域,包括共享出行、微服务、消息以及混合事务。
SOA 和分布式事务
提供跨库、跨服务的分布式事务支持,实现业务链路级别的分布式事务。开发简单,只需要在客户端声明一个注解,用以界定事务边界。
- 业务链路:为服务链调用提供一致性保证。
- 多框架兼容:目前兼容 Spring Cloud、Dubbo 和 HSF 等 RPC 框架。
- 高性能:最高可达到传统分布式事务性能10倍左右;热点数据可以高效处理,无惧数据冲突。
消息事务
GTS 与 MQ 打通,提供事务消息处理能力,可以保证业务链路完成时发送消息,任一阶段异常时回滚消息。开发简单,在客户端声明一个注解,用以界定事务边界,调用 MQ 的事务API发送消息。
- 高可靠:在宕机、网络故障等情况下,严格保证数据一致性。
- 节约成本:
- 节省运维成本,避免了分布式场景下产生的数据异常。
- 节省开发成本,像使用单机事务一样使用分布式事务。
通用分布式事务管理
提供通用的分布式事务管理能力,支持微服务框架(Spring Cloud、Dubbo 和 HSF)、数据库(DRDS、RDS、MySQL、Oracle等)、消息中间件(MQ)的组合使用,灵活方便。
- 多业务场景:通过混合事务,GTS可以应用到金融、电信、电子商务、物流等多个领域。
- 高可用:GTS 具有同地域高可用特性,即使突发事件造成集群中某一台机器异常,GTS 仍然能够提供原来 1/2 的服务能力。
共享出行
共享出行场景下,通过 GTS 支撑物联网系统、订单系统、支付系统、运维系统、分析系统等各系统应用事务一致性,保证海量订单和数千万流水的交易。
- 超强性能:可以达到传统分布式事务性能 10 倍左右;热点数据可以高效处理。
- 高并发:可以满足出行场景下的亿万级并发事务请求。
- 强一致性:可以在宕机、网络故障等任何情况下保证数据的一致性。
5.产品功能
GTS 提供了跨数据库、跨服务、消息队列和混合分布式事务,并提供多种事务模式。
跨数据库分布式事务
系统分库、分表后,跨库事务几乎无法避免,GTS 可以让应用轻松具备跨库事务处理能力。
跨服务的分布式事务
提供跨库、跨服务的事务支持,实现业务链路级别的分布式事务。
消息队列分布式事务
在多次调用消息系统的场景中,通过 GTS,应用可轻松具备消息事务的处理能力。
混合的分布式事务
GTS 可将各个资源加入事务范畴,实现同时跨服务、数据库、跨消息系统的事务处理能力。
多种事务模式
提供了标准事务模式、自定义事务模式和重试模式,以供选择并应用于不同的业务场景。
6.产品优势
GTS让应用开发者不再需要考虑复杂的事务问题,仅需简单配置一句GTS注解,对已有业务代码无侵入,就能帮您轻松实现超强性能、高可用、多数据源的分布式事务。
超强性能
高达传统分布式事务10倍性能;热点数据高效处理,无惧数据冲突。
高可用
在应用宕机、节点故障等各类异常情况均可保证数据严格一致。
多数据库支持
支持 MySQL、RDS、DRDS、PostgreSQL、Oracle数据库。
说明 除 MySQL 数据库外,GTS 目前仅支持部分数据库版本。DRDS 仅支持5.2.x版本,Oracle 仅支持19c版本。
使用便捷
提供注解、API 等多种接入方式,使用门槛低,节省开发、运维成本。
这篇关于全局事务服务 GTS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!