686
微信
TXC 简介__TXC for EDAS_二方服务_企业级分布式应用服务 EDAS-阿里云
分布式事务(Transaction Controller,简称 TXC)是一款高性能、高可靠、接入简单的分布式事务中间件,用于解决分布式环境下的事务一致性问题。该产品支持 DRDS、RDS、Oracle、MySQL、PostgreSQL、H2 等多种数据源,并可以配合使用 EDAS、Dubbo 及多种私有 RPC 框架,同时还兼容 MQ 消息队列等中间件产品,能够轻松实现分布式数据库事务、多库事务、消息事务、服务链路级事务及其各种组合,策略丰富,易用性和性能兼顾。
TXC 是阿里云正式商用的产品,目前在阿里云多个地域(Region)提供了高可用分布式事务云服务,产品稳定性及可用性完全按照阿里巴巴内部标准来实施,产品使用时,应用只需要极少的代码改造和配置,即可享受分布式事务带来的便利。
功能介绍
TXC 能够轻松实现分布式数据库事务、多库事务、消息事务、服务链路级事务及其各种组合,支持 DRDS、RDS、Oracle、MySQL、PostgreSQL、H2 等多种数据源,同时可以配合使用 EDAS、Dubbo 及多种私有RPC框架,此外还兼容 MQ 消息队列等中间件产品。使用 TXC 主要能够解决以下三方面的问题:
数据库扩容产生的分布式事务
业务初始阶段往往规模比较小,大多情况下,单库就可以满足需求,经过一段时间后,业务规模也会随之变得大而复杂,会出现分库的情况,这时原有的单机事务往往会变成分布式事务。
跨资源操作
在某些业务场景中,需要进行多个 DB 操作的同时,还会调用消息系统,DB 操作成功、消息发送失败或者反过来都会造成业务的不完整。
跨服务的分布式事务
业务完成服务化后,资源与客户端调用解耦,同时又要保证多个服务调用间资源的变化保持强一致,否则会造成业务数据的不完整。
产品优势
简单易用
TXC 嵌入代码和业务代码松耦合,仅需简单配置就能够轻松实现分布式事务,并对已有业务代码不造成影响。
节约成本
节省运维成本,避免了分布式场景下产生的数据异常;节省开发成本,像使用单机事务一样使用分布式事务。
高性能
- 普通单台服务器提供1.5万 TPS 以上分布式事务处理能力;
- 每一个事务分支的处理延迟在2ms左右;
- 热点数据可以高效处理,无惧数据冲突。
接入简单
- 支持多种数据源: DRDS、RDS、Oracle、MySQL、PostgreSQL、H2等;
- 支持 RPC 框架: EDAS、Dubbo 及多种私有 RPC 框架;
- 支持消息队列: MQ;
- 高可靠:中间状态多份落盘存储,经过严格断电测试,严格保证数据一致性。
应用场景
TXC 可应用在涉及数据库操作的多个领域,包括企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。
TXC 可以应用但不局限于以下业务场景:
EDAS 事务解决方案
与 EDAS 打通,提供夸库、跨服务的分布式事务支持,实现业务链路级别的分布式事务。开发简单,只需要在客户端声明一个注解,界定事务边界。
DRDS 事务解决方案
提供标准的 SQL 语法,以极低的开发成本,为分布式数据库 DRDS 提供分布式事务能力,是企业从单机数据库迁移到分布式数据库的利器。
MQ 事务解决方案
与 MQ 打通,提供事务消息处理能力,业务链路完成时发送消息,任一阶段异常时回滚消息。开发简单,在客户端声明一个注解,界定事务边界,调用 MQ 的 API 发送消息。
混合事务解决方案
以极简单的用户接口,实现跨服务(EDAS、Dubbo)、跨数据库(DRDS、RDS、MySQL)、跨消息(MQ)的通用分布式事务管理。
名词解释
本文主要对 TXC 涉及的专有名词及术语进行定义和解析,方便您更好地理解相关概念并使用 TXC。
TXC
分布式事务(Transaction Controller,简称 TXC)是一款高性能、高可靠、接入简单的分布式事务中间件,用于解决分布式环境下的事务一致性问题。本产品是企业级互联网架构的核心产品,可提供分布式数据库事务、多库事务、消息事务、服务链路级事务等一系列分布式事务云服务。
Transaction
事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
XID
XID,即 TXC 分布式事务的全局事务 ID,TXC 服务会为每一个分布式事务生成一个全局唯一的分布式事务 ID。由于其全局唯一性,我们可以通过 TXC 日志中的 XID 帮助排查问题。一个事务的 XID 可以通过下面代码获得:TxcContext.getCurrentXid();
BranchId
即 TXC 分布式事务的分支事务 ID,它是事务分支的唯一标识。XID 和 BranchId 是一对多的包含关系,即一个全局事务可能包含多个事务分支。通过在 TXC 日志中跟踪某个 BranchId,可以帮助排查问题,观察事务分支提交和回滚的原因。
GlobalCommit
全局事务提交,TXC 中用于表示一个全局事务提交了。
GlobalRollback
全局事务回滚,TXC 中用于表示一个全局事务回滚了。
BranchCommit
分支事务提交,TXC 中用于表示一个全局事务的某个分支提交了。
BranchRollback
分支事务回滚,TXC 中用于表示一个全局事务的某个分支回滚了。
最后更新:2016-12-07 10:28:54
上一篇:
开发测试集群使用说明__SchedulerX for EDAS_二方服务_企业级分布式应用服务 EDAS-阿里云
下一篇:
TXC 控制台快速入门__TXC for EDAS_二方服务_企业级分布式应用服务 EDAS-阿里云
访问域名__访问与控制_开发人员指南_对象存储 OSS-阿里云
资源访问控制__授权管理_用户指南_访问控制-阿里云
预置模版详情__附录_API使用手册_媒体转码-阿里云
实例相关接口__API参考_高性能计算-阿里云
6.2 分析型数据库权限模型__第六章 用户与权限_使用手册_分析型数据库-阿里云
查看授权__资源授权接口_Open API_消息队列 MQ-阿里云
ECS被入侵处理__攻击防护_Web 应用防火墙-阿里云
解除多个API与某APP的授权__授权相关接口_API_API 网关-阿里云
阿里云总裁胡晓明:未来和合作伙伴一起,服务1000万家企业
1. OCS快速开始__开放缓存OCS 体验_体验馆-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云