`
eric_weitm
  • 浏览: 235054 次
  • 性别: 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能保证最终一致性,但可能造成脏读
分享到:
评论

相关推荐

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

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

    火车售票系统,包含高并发、分布式事务、限流等技术应用场景train.zip

    购票系统是一种用于方便用户购买门票、交通票、电影票等各种类型票务的系统。这种系统通常涉及以下几个方面的功能和流程: 用户注册与登录:用户可以通过注册账号并登录系统来进行购票操作,系统可以保存用户的个人...

    分布式数据库试题及答案.doc

    2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库是...

    研究生分布式数据库参考习题

    2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库...

    分布式数据库系统综述.docx

    二、移动分布式数据库 随着无线技术和分布式数据库技术的发展,在移动通信领域中出现了一项新技术——移动计算。移动计算环境促进了无线技术与分布式数据库应用的融合,形成了移动分布式数据库系统。随着5G技术的...

    分布式业务层数据层框架Albianj2.zip

    4. 分布式事务服务(支持强、弱两种模型) 5. 简单的缓存服务 6. 统一的Id服务 7. 日志服务(这部分有待扩展) 8. 密码安全服务 9. 简单的restful服务 10. 一个轻量级的配置服务 Albianj2的适用范围: ...

    基于电商业务中台最佳实践:交易中台技术要点设计之高性能

    接着继续讲,接下来主要介绍交易总体设计的技术要点设计,对于电商中台来说,交易系统是核心中的核心,一开始就需要围绕高性能,高可用,和高扩展三个方面来重点设计。...让我们大概看一下几种常见的

    分布式数据库系统复习材料.doc

    10、一个分布式数据库系统应用应该具有以下几种特点: (1)物理分布性:分布式数据库系统的数据具有物理分布性,这是与集中式数据库系统 的最大差别之一 (2)逻辑整体性:区别一个数据库系统是分散式还是分布式,...

    分布式系统:概念与设计(原书第3版) 原书名: Distributed Systems: Concepts and Design (4th Edition)

    接着,我们论及一些比较成熟的主题,包括安全、数据复制、组通信、分布式文件系统、分布式事务、CORBA、分布式共享内存和多媒体系统。此外,还会讨论一些新的主题:Web服务、XML、网格、对等、移动和无处不在系统。...

    开源分类账系统Hyperledger.zip

    Blockchain 是一个对等的分布式分类技术为新一代的事务性应用程序建立信任、问责和透明度,简化业务流程。Blockchain 是一个操作系统的交互。它有可能大大降低成本和复杂性的事情。分布式分类帐是一种永久性的,安全...

    SpringBoot+MybatisPlus 分布式项目谷粒商城.zip

    例如,InnoDB提供事务安全、行级锁定和外键约束,适合处理高并发事务性的应用;MyISAM则更侧重于读取密集型操作,提供全文索引支持,适用于读多写少的场景。这种多引擎架构使得MySQL能够适应不同业务需求,提供高度...

    基于J2EE的介绍

    •JCA(Java连接器体系结构):一种技术,用于外部数据源和传统的J2EE组件提供的功能。 •JTA,JTS(Java Transaction API和Java事务服务):指定接口的异构分布式交易。 •RMI/ IIOP(远程过程调用/因特网ORB间协议...

    基于云计算的虚拟银行海量数据存储设计

    工作的另一个方面是在我们构架的分布式文件系统的基础上设计我们的数据库管理系统,相对于云计算而言分布式数据库的技术是比较成熟的,也正因为如此他们不能很好的和基于云计算的文件系统很好的兼容,我们的工作是...

    vc++实战COM,DCOM,COM+教程笔记+示例源代码.zip

    分布式多层数据库开发_关于建立COM 时的几个选项现在说明一下Threading Model 进程内组件的注册使用regsvr32 xxx.dll,进程外组件的注册使用xxx.exe register 创建进程内COM组件 创建进程外COM组件 事务 ...

    大数据中台架构栈.doc

    目前市面针对日志采集的有 Flume,Logstash,Filebeat,Fluentd ,rsyslog 几种常见的框架,我们挑应用较广泛的前两者介绍下: 1.1 Flume 和 Logstash Flume 是一款由 Cloudera 开发的实时采集日志引擎,主打高并发...

    2021互联网大厂Java架构师面试题突击视频教程

    对比下redis和zk两种分布式锁的优劣? 43_说说你们的分布式session方案是啥?怎么做的? 44_了解分布式事务方案吗?你们都咋做的?有啥坑? 45_说说一般如何设计一个高并发的系统架构? 46_体验一下面试官对于分库...

    高并发场景防止库存数量超卖少卖

    为此,可采用以下几种策略: 悲观锁:在数据库层面,对库存记录进行锁定,确保同一时刻只有一个事务能扣减库存,但可能导致锁竞争激烈,影响性能。 乐观锁:通过在库存记录中增加版本号字段,更新时验证版本号是否...

    《JSP简明教程》课件

    用JSP开发Web站点的几种主要方式 JSP的两种体系结构 教学过程 Java技术 JSP技术 用JSP开发Web站点的几种主要方式 理解JSP的两种体系结构 1.1 Java技术 Java Beans JDBC J2EE EJB Java Servlet ...

    数据中台之结构化大数据存储设计.doc

    之后会深入剖析数据系统中 结构化数据的存储技术,介绍阿里云Tablestore选择哪种设计理念来更好的满足数据系统 中对结构化数据存储的需求。 2. 数据系统架构 1. 核心组件 上图是一个比较典型的技术架构,包含应用系统...

Global site tag (gtag.js) - Google Analytics