一、分布式事务的应用场景

作者: liuhailong | 来源:发表于2018-06-11 20:59 被阅读53次

现在提起分布式事务中的“事务”,和传统的数据库事务中的“事务”严格意义上已经不是完全等同的了。

设计一个分布式事务框架前,首先要明确问题到定义。

分析具体应用场景,包括以下三个:A、服务内跨数据库的事务;B、跨内部服务的事务;C、跨外部服务的事务。

其中划分内部和外部的标准是:内部服务我们可以控制其实现,修改配置或代码;外部服务指的是第三方的,只能约定通信的方式和具体协议,具体代码实现在控制范围之外。

具体如下:

应用场景A:服务内跨数据库

如下图所示,在同一个服务方法内,访问两个或两个以上数据库。

我们知道,Java事务是通过Connection对象控制的。不同的数据库,是不同的数据库链接,通过不同的Connection对象实现。传统数据库事务无法实现事务控制,需要引入事务协调者的概念。这是场景A,这个场景中分布式体现在数据库的部署上。

应用场景B:跨内部服务

如下图所示,一个服务通过微服务框架或者RPC调用调用其他的服务,多个子服务需要同时成功或失败。每个子服务都有自己的持久化方式,不一定是数据库,体现事务的持久性。每个子服务部署在不同的服务容器中,不同的服务容器部署在不同的服务器节点上。这是场景B,这个场景中分布式体现在服务(或应用)的部署上。

这时候,事务的概念已经超出“数据库”的范畴了。

应用场景C:跨外部服务

这个场景是在应用场景B的基础上,进一步,服务的具体实现在我们控制范围之外。我们不能限制其实现语言,不能要求指定方法上加标注(注解)。甚至除了服务调用的网络通道外,我们不能期望服务间访问相同的Zookeeper作为事务协调器。这是场景C,这个场景中,我们只能在通信协议层面做约定,是最彻底的分布式场景。

小结

以上分析了分布式事务的三个应用场景,具体的技术方案也针对这三个场景做设计。

相关文章

  • 最浅显易懂的分布式事务概念

    什么是分布式事务 分布式事务的产生的原因一数据库分库分表二应用SOA化 事务的ACID特性 分布式事务的应用场景 ...

  • 分布式事务

    一、什么是分布式事务 二、分布式事务产生的原因/分布式事务的应用场景 三、分布式事务的基础/理论 CAP/BASE...

  • happylifeplat-tcc

    happylifeplat-tcc 浅谈分布式事务原理及其应用场景 概念:分布式事务就是指事务的参与者、支持事务的...

  • 分布式事务

    最近整理了下分布式事务相关知识及典型应用场景解决方案,主要内容如下: 1、分布式事务1)事务简介2)本地事务讲解3...

  • 高并发下分布式事务的解决方案-MQ消息事务+最终一致性

    分布式事务 分布式事务的应用场景 支付 在线下单 消息事务+最终一致性 消息事务就是基于消息中间件的两阶段提交,本...

  • SprinrBoot整合Seata使用AT模式解决多数据源分布式

    SprinrBoot整合Seata使用AT模式解决多数据源分布式事务 分布式事务场景: 1.应用中使用多数据源,跨...

  • 一、分布式事务的应用场景

    现在提起分布式事务中的“事务”,和传统的数据库事务中的“事务”严格意义上已经不是完全等同的了。 设计一个分布式事务...

  • 分布式事务

    本地事务 分布式事务 分布式事务模型 XA 优点:对应用侵入很小,用户可以像使用本地事务一样使用基于XA协议的分布...

  • 分布式事务的理解

    分布式事务结合应用场景更方便理解 场景 充值案列-用户缴费-订单中心收到费用,转到充值系统充值-充值系统接受到命令...

  • Seata之原理简介

    分布式事务的执行流程 TM开启分布式事务(TM向TC注册全局事务记录) 换业务场景,编排数据库,服务等事务内资源(...

网友评论

    本文标题:一、分布式事务的应用场景

    本文链接:https://www.haomeiwen.com/subject/wyfkeftx.html