全局事务服务 GTS

2023-12-02 13:10
文章标签 服务 全局 事务 gts

本文主要是介绍全局事务服务 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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445469

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D