`
IXHONG
  • 浏览: 450318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分布式事务简单处理

阅读更多

解决分布式事务最简单的方案就是向前或向后,即补充或回滚。

业务逻辑有如下三步:

  1. 调用A服务冻结金额

  2. 调用B服务增加额度

  3. 记录数据库

进行到第2步失败 -> 写task,回滚第1步(通知A服务方去回滚)

进行到第3步失败 -> 写task,从A/B服务处同步数据至数据库

还有一种方案就是写task,转化为本地事务,由task去执行上述三步,失败则重试task,当然,A/B服务都有幂等性处理。这种方案的缺点之一,是假定了参数合理的情况下,服务最终一定会执行成功,缺点之二是看起来不自然。

复杂的方案就是TCC方案,参见蚂蚁金服的DTS

0
0
分享到:
评论

相关推荐

    深入理解分布式事务

    分布式事务是指在分布式系统中,为了确保跨多个节点上的操作能够正确地完成或者全部回滚,所采取的一种事务处理机制。在这样的场景下,事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的...

    大规模SOA系统中的分布式事务处理_程立

    在大规模的Service-Oriented Architecture (SOA)系统中,分布式事务处理是一个核心且复杂的议题。本文基于程立,一位知名的技术领导者,同时也是蚂蚁集团的CTO,分享的分布式事务解决方案进行深入探讨。 首先,我们...

    springboot多数据源即分布式事务解决方案

    SpringBoot作为一款轻量级的框架,提供了便捷的多数据源配置和分布式事务管理方案,使得开发者能够高效地管理和操作不同的数据库。本文将详细探讨SpringBoot如何实现多数据源以及分布式事务。 首先,我们要理解什么...

    .NET简谈事务、分布式事务处理

    ### .NET中的事务与分布式事务处理 #### 一、引言 事务处理是现代软件开发中不可或缺的一部分,尤其是在处理数据库操作或需要确保一系列操作原子性的场景下。.NET框架提供了强大的事务支持,允许开发者轻松地在不同...

    分布式事务若依框架文档

    Seata是由阿里巴巴开源的一个分布式事务解决方案,旨在提供高性能和简单的分布式事务服务。它支持多种事务模式,目前最流行的模式是AT模式,其次是TCC模式和Saga模式。 - **RuoYiAT模式**:这是一种基于JDBC的自动...

    LCN分布式事务框架详解

    首先,分布式事务是指跨越多个数据库或者存储系统的事务处理,其目标是确保这些操作要么全部成功,要么全部失败,保持数据的一致性。在大规模分布式系统中,由于网络延迟、服务故障等因素,实现这样的事务处理非常...

    大规模SOA服务分布式事务处理-程立.rar

    在大规模的SOA(Service-Oriented Architecture,面向服务架构)系统中,分布式事务处理是一项至关重要的技术。本文将深入探讨这一主题,基于程立的资料,主要关注分布式事务处理模型、XA规范以及两阶段提交和三阶段...

    mysql分布式事务实现 MySQL XA pdf

    ### MySQL分布式事务处理与XA协议详解 #### 一、引言 在当今互联网技术高度发展的背景下,分布式系统已经成为处理大规模数据的关键技术之一。而在分布式环境中,确保数据的一致性成为了非常重要的挑战。其中,...

    分布式事务解决方案.zip

    Seata(Simple Extensible Autonomous Transaction Architecture)是阿里巴巴开源的分布式事务框架,支持AT(Automatic Transaction Mode)、TCC、Saga和XA等事务模式,提供高性能和简单易用的分布式事务解决方案。...

    分布式事务之2PC事务处理原理

    2PC(两阶段提交)是一种经典的分布式事务处理算法,它试图通过协调参与者的操作来实现全局的一致性。 **两阶段提交(2PC)的工作原理** 1. **准备阶段(投票阶段)**: 在这个阶段,事务协调者(通常是应用...

    基于TUXEDO中间件构建分布式事务应用研究.pdf

    分布式事务是数据库事务处理的一种形式,它涉及在一个分布式计算环境中,跨多个数据库或计算节点的事务操作。分布式事务需满足ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性...

    分布式事务.zip

    TX-LCN是一个专门为Java设计的高性能、轻量级的分布式事务解决方案,它为Spring Cloud提供了一种简单易用的集成方式。下面将详细探讨Spring Cloud集成TX-LCN分布式事务的关键知识点。 首先,理解分布式事务的背景和...

    分布式事务专题-v1.1.pdf

    然而,随着业务复杂性的增加,系统往往被拆分成多个独立的服务,每个服务可能有自己的数据库,这时就需要处理跨服务的事务,即分布式事务。 1.1 事务的基本概念 事务是数据库操作的基本单元,确保一组操作要么全部...

    分布式事务学习笔记

    在某些情况下,业务方需要自己实现分布式事务的处理逻辑,例如通过手动实现两阶段提交等方式来保证数据的一致性。 **4.3 事务消息** 事务消息是一种常见的实现最终一致性的方法,它通过消息队列来传递事务的状态...

    太极分布式事务处理框架moonwater

    TJDTP是一个非常优秀的框架,优势在于提高了应用的成功率,自动进行分布式事务处理,事务处理速度快,提高了数据的一致性,把对事务的处理由不可控变为可控,需要人工处理的故障可一键完成,简单快捷,实现事务处理...

    分布式事务的解决方案.pdf

    其中,X/OpenDTP事务模型是一个重要的标准,它定义了分布式事务处理的参考模型,包括应用程序(AP)、资源管理器(RM)和事务管理器(TM)三个角色。AP定义事务边界,RM处理具体资源,如数据库,而TM作为协调者,...

    springboot多数据源即分布式事务解决方案,添加对多线程的支持

    在现代企业级应用开发中,数据源的多样化和分布式事务的处理是常见需求。Spring Boot作为Java领域的一个轻量级框架,提供了强大的支持来解决这些问题。本教程将深入探讨如何在Spring Boot环境下实现多数据源操作及...

    Seata是一种易于使用高性能基于Java的开源分布式事务解决方案

    Seata(Simple Extensible Autonomous Transaction Architecture)是一款由阿里巴巴开源的分布式事务处理框架,设计目标是为微服务架构提供简单易用、高性能的分布式事务解决方案。它致力于解决在大规模分布式系统中...

    HBase分布式事务与SQL实现

    TiDB的特点是支持一致的分布式事务,让应用程序代码变得简单而强大。TiDB兼容MySQL协议,可以作为分布式MySQL使用,而且在大多数情况下,不需要修改代码就可以将MySQL替换为TiDB,从而增强应用程序的能力。TiDB定位...

Global site tag (gtag.js) - Google Analytics