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

几种分布式事务技术的比较

 
阅读更多

1、基于xa的2pc、 3pc: dbms实现的分布式事务,在整个分布式事务的执行过程中,都会锁表(相关的),效率比较低(一个请求进来,可能会锁多个数据库的表),但是保证强一致性。

2、TCC:需要改造业务逻辑,手动实现 try的锁定的功能。对业务侵入很强。

3、saga:默认执行成功,在需要的时候,再回调cancel。已经提交的事务,不保证隔离性。

4、seata:对于update insert delete自动生成回滚的sql,需要时进行回滚,但是不保证数据的强一致性,回滚时会导致脏读(回滚和提交是2个本地的事务)

 

5、lcn:发起方最后成功,触发各个阶段的真正提交。不会脏读,性能介于seata和2阶段之间。但是发起方挂了,会导致 数据不一致(可能性小,而且真的是这种情况,也算是可以接受)

  • seata和lcn大致的实现思路是一致的,但是回滚的机制不一样。
  • lcn是采取代理数据源的模式,再根据发起方执行本地事务的结果进行回滚或者提交
  • seata采取的是根据undo_log日志表,进行逆向生成sql语句,来解决回滚
  • lcn能够保证强一致性,但可能发生死锁的现象
  • seata能保证最终一致性,但可能造成脏读
分享到:
评论

相关推荐

    基于J2EE分布式事务的应用技术研究

    ### 基于J2EE分布式事务的应用技术研究 #### 分布式事务处理的重要性与背景 随着计算能力的成本不断下降以及网络带宽的显著提升,分布式计算程序得到了迅速发展。这些程序通常基于组件构建,形成了服务架构。在...

    分布式事务实践 解决数据一致性

    详细介绍3种分布式事务实现的模式中的消息驱动模式并通过完整实例演示了消息驱动模式下,实现微服务系统的分布式事务的完整过程。 7-1 分布式事务实现:消息驱动模式 7-2 消息驱动模式实例:设计 7-3 消息驱动模式...

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

    分布式事务产生的场景主要分为以下几种: 1. 微服务架构:在微服务架构中,不同的服务可能会跨越多个JVM进程。例如,下单时,订单微服务需要调用库存微服务来减少库存。这类场景下,服务间的远程调用会产生分布式...

    几种分布式对象技术的比较.pdf

    在这份文档中,巫小蓉对几种主流的分布式对象技术进行了深入探讨,重点比较了CORBA、RMI和DCOM这三种技术。 首先,文档提到了CORBA(Common Object Request Broker Architecture)技术。CORBA是一种由OMG(Object ...

    分布式事务专题总结.pdf

    根据CAP理论,分布式事务解决方案可以分为几类。一种是基于2PC(两阶段提交)的算法,它通过协调者协调各个参与者节点,在第一阶段准备操作,并在第二阶段提交或回滚,从而保证分布式系统的一致性。然而,这种方法...

    分布式事务原理及解决方案.docx

    本文将探讨分布式事务的基本概念、单机事务与分布式事务的区别,并详细介绍几种常见的分布式事务解决方案。 #### 2. 事务基本概念 事务是一种用于确保数据完整性和一致性的机制,通常具有以下四个主要特征: - **...

    HBase分布式事务与SQL实现

    在深入了解HBase分布式事务与SQL实现前,我们首先需要明确几个核心概念和组件,这些包括HBase基础架构、Google Percolator模型、TiDB分布式数据库,以及它们之间的关系。 HBase是一款分布式的、开源的NoSQL数据库,...

    tx-manager.rar(lcn 分布式事务管理协调器)

    在实际应用中,使用LCN分布式事务管理协调器的系统需要关注以下几个方面: - **配置与部署**:理解如何配置LCN,以及在多节点环境中如何正确部署和启动事务协调器。 - **事务边界定义**:明确哪些业务操作需要纳入...

    龙果学院(微服务架构的分布式事务解决方案)pdf ppt

    本文将围绕“微服务架构的分布式事务解决方案”这一主题,详细介绍几种常用的分布式事务解决方案及其优缺点。 #### 二、基础知识 在深入讨论分布式事务解决方案之前,我们需要了解一些基础概念: 1. **本地事务**...

    微服务架构的分布式事务解决方案演示

    本篇文档将详细介绍几种常用的分布式事务解决方案,并通过一个具体的电商支付流程案例来进行演示。 #### 标题解读:“微服务架构的分布式事务解决方案演示” 该标题明确指出了文档的主要内容——针对微服务架构中...

    分布式事务难题在微服务架构下的解法和标准化1

    分布式事务在微服务架构下是实现复杂业务逻辑的关键技术,因为微服务架构通常涉及多个独立的服务,这些服务可能需要在单个操作中保持数据的一致性。然而,由于服务之间的网络延迟、服务失败等问题,传统的单体应用中...

    浅谈常用的分布式事务选型

    **XA协议**是最早的一种分布式事务解决方案,主要用于解决数据库与事务管理器之间的交互问题。在XA协议中,**事务管理器(TM)**负责全局事务的协调,而**资源管理器(RM)**负责本地事务的执行。该协议定义了两阶段提交...

    分布式事务的并发控制

    下面详细解释分布式事务并发控制相关的几个关键知识点。 简单分布式事务与嵌套事务是分布式事务的两种基本形式。简单分布式事务涉及单一客户事务请求多个服务器服务,但这些服务器之间不需要进一步的协调,即一个...

    阿里-分布式事务专利稿全集

    5. **分布式事务的并发控制**:在高并发场景下,如何有效地控制事务之间的并发,防止死锁和资源竞争,也是分布式事务技术的关键部分。专利可能提出了一种新型的并发控制算法或协议。 6. **微服务与分布式事务**:...

    微服务处理分布式事务模块

    在实际应用中,选择哪种分布式事务方案取决于业务场景和性能需求。例如,对于对响应时间敏感的系统,可能会倾向于选择轻量级的方案如LCN,而对于强一致性要求的场景,可能需要采用2PC或Saga。 在使用像`tx-lcn-...

    linq to sql 分布式事务处理

    分布式事务处理则是当多个操作分布在不同的数据存储系统中时,确保所有操作要么全部成功,要么全部失败的关键技术。 本书深入探讨了LINQ to SQL在分布式事务中的应用,涵盖了以下几个主要知识点: 1. LINQ to SQL...

    分布式事务-hm.pdf

    【分布式事务产生的场景】主要有以下几种: 1. 微服务架构:服务间通过远程调用协调事务,如订单服务与库存服务之间的交互。 2. 单体系统访问多个数据库实例:当一个系统需要跨数据库实例操作数据时,如用户信息和...

    龙果学院--微服务架构的分布式事务解决方案--第03节--常用的分布式事务解决方案介绍

    XA协议是由X/Open组织提出的一种分布式事务的规范,主要用于定义事务管理器(TM)与资源管理器(RM)之间的接口。主流的关系型数据库都实现了XA接口。 **3. 两阶段提交(2PC)** 两阶段提交协议(Two-phase commit ...

    分布式事务简介和解决思路

    常见的分布式事务解决方案有以下几种: 1. **XA事务**:基于两阶段提交(2PC)协议,由一个协调者和多个参与者组成。协调者负责询问所有参与者是否准备提交,参与者返回准备状态后,协调者再决定是否全局提交。但2...

Global site tag (gtag.js) - Google Analytics