架构师系列-玩转分布式事务N种解决方案和利弊选择

DBC 1.6K 0
前置知识
X/OpenDTP 事务模型

是X/Open 这个组织定义的一套分布式事务的标准,也就是定义了规范和 API 接口,由各个厂商进行具体的实现

DTP 是分布式事物处理(Distributed Transaction Processing)的简称

XA协议

XA是由X/Open组织提出的分布式事务规范。

XA规范主要定义了(全局)事务管理器(TM)和(局 部)资源管理器(RM)之间的接口

主流的数据库产品都实现了XA接口,是一个双向的系统接口,在事务管理器以及多个资源管理器之间作为通信桥梁

JTA

Java Transaction API,java根据XA规范提供的事务处理标准

AP

application, 应用程序也就是业务层,微服务等

RM

Resource Manager,资源管理器。一般是数据库,也可以是其他资源管理器,比如消息队列,文件系统

TM

Transaction Manager ,事务管理器、事务协调者,负责接收来自用户程序(AP)发起的 XA 事务指令,并调度和协调参与事务的所有 RM(数据库),确保事务正确完成

总结一下
事务模型

在分布式系统中,每一个机器节点能够明确知道自己在进行事务操作过程中的 结果是成功还是失败,但无法直接获取到其他分布式节点的操作结果

当一个事务操作跨越多个分布式节点的时候,为了保持事务处理的 ACID 特性,

需要引入一个“协调者”(TM)来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点被称为 AP。

TM 负责调度 AP 的行为,并最终决定这些 AP 是否要把事务真正进行提交到(RM)

架构师系列-玩转分布式事务N种解决方案和利弊选择插图

发表评论 取消回复
表情 图片 链接 代码

分享