产品概述

最近更新时间: 2024-06-12 15:06:00

什么是分布式事务

分布式事务(Distributed Transaction Framework,下文简称 DTF)是腾讯云金融专区自主研发的高性能、高可用的分布式事务中间件,用于提供分布式的场景中,特别是微服务架构下的事务一致性服务。

分布式事务 DTF 拥抱 Spring Cloud、Spring Boot 开发框架,支持包括 Dubbo 的任意 Java 开发框架,可以与 MySQL、CynosDB、MariaDB 等数据库配合使用,帮助企业用户轻松管理跨数据库、跨服务事务的部署与可视化管理;DTF 还与微服务平台 TSF 打通,配合使用即可实现对应用的全生命周期管理,轻松构建大型分布式系统。

产品功能

DTF 提供对跨数据库事务、跨服务事务、混合型事务的支持,提供 TCC 和 FMT 两种接入模式。DTF 还支持对事务分组运行数据的全方位监控,支持控制台重试异常事务。

跨数据库分布式事务

随着业务的发展,单数据库或数据表难以满足海量存储的要求,而数据库的分库分表又带来了无法保障一致性的问题。分布式事务可保障分库分表后事务的一致性,让您从容处理跨库事务,应对海量数据。

跨服务分布式事务

微服务架构在用户业务不断发展的今天越来越流行,而随着系统功能解耦成多个微服务,一个完整的业务通常会涉及到多个微服务,在一个事务中调用多个微服务对数据一致性带来了挑战。分布式事务同样可解决跨应用、跨服务的数据一致性问题,同时,DTF 支持原生 Spring Cloud 框架,并可与 TSF 打通,助您轻松管理微服务下的分布式事务。

混和(跨数据库&服务)分布式事务

DTF 同样支持同时引入跨数据库、跨服务以及消息队列等资源,保障不同资源间的数据一致性。您可自定义的接入不同类型事务参与者,实现复杂场景下的业务诉求。

TCC 接入模式

TCC(Try - Confirm/Cancel)模式中,用户可以根据自己的业务场景实现 Try、Confirm 和 Cancel 操作,目前 TCC 是现今被广泛应用的一种分布式事务模式。 DTF 针对 TCC 接入模式进行了对协调器和数据库操作的优化,使其拥有高达传统两阶段提交十倍的性能。TCC 接入模式还拥有极高灵活度,在该模式下您可自定义补偿型、资源预留型、消息队列型事务,同时,TCC 模式支持事务多重嵌套,也支持嵌套 FMT 子事务。 在 TCC 事务中,您可接入包括数据库、微服务、Redis、MQ 等多种资源,灵活处理各种业务场景。

FMT 接入模式

FMT(Framework - managed Transaction)模式下,DTF 通过框架解析您的 SQL 语句,免去了编写 Confirm/Cancel 方法的烦恼,接入使用便捷,对代码无侵入,助您高效完成业务分布式事务的开发。 您可在一条主事务中同时接入 TCC 模式与 FMT 模式的子事务。支持在 TCC 子事务下嵌套 FMT 子事务,支持 FMT 子事务下继续嵌套 FMT 子事务。

全方位可视化监控

DTF 控制台提供了对事务分组的全方位监控能力,包括查看任意时间段主事务、异常事务、总事务的数量,以及对运行事务分组的健康度监控。您可针对监控内容自定义设置告警,在第一时间处理异常事务。

异常事务重试

您可在控制台查看异常事务的具体信息,DTF 支持在控制台对异常事务进行重试。您可一键重试全部异常事务,或自定义选择任意异常事务进行重试。

异步可嵌套事务

使用 DTF,您可在子事务下继续嵌套子事务,实现更长链路的服务调用。DTF 基于异步 TCC 实现,让您在开发分布式事务逻辑时,无需改变原有服务间调用逻辑,减少您的代码改造成本。