分布式事务:X/Open DTP模型

事务的特征

  • Atomic:原子性,事务必须是一个原子的工作单元,要么全部成功,要么全部失败
  • Consistent:一致性,事务完成时必须使所有的数据保持一致状态。
  • Isolation:隔离性,并发事务所做的修改必须与其他事务所做的修改是隔离的。
  • Duration:持久性,事务完成后对系统的影响是永久性的。

分布式事务的由来

随着系统用户和数据的增加,原先的单体应用的程序架构向着SOA或者微服务的架构发展,数据库也会有分库分表等操作来提高效率

单体应用

单体应用

单体应用只有一个操作的数据库,完全可以直接依赖数据库的ACID特性和应用的事务管理来保证事务的执行,数据的一致性。

分布式应用

soa

分布式应用中每个模块的应用都对应一个数据库时候,事务管理已经跨应用了,如上图,加入张三下单买东西,要在用户中心添加订单记录,订单中心要去删减库存,对一个整体的应用而言这是一个原子操作,要么两个操作全部成功要么全部失败,来保证数据的一致性。

X/Open DTP事务模型

X/Open DTP 全称 X/Open Distributed Transaction Processing Reference是X/Open这个组织定义出的一套分布式事务标准

分布式事务处理 (DTP) 模型
X/Open DTP中的角色
  • AP(Application Program):应用程序,主要是定义事务边界以及那些组成事务的特定于应用程序的操作。
  • EM(Resouces Manager):资源管理器,管理一些共享资源的自治域,如提供对诸如数据库之类的共享资源的访问。
  • TM(Transaction Manager):事务管理器,管理全局事务,协调事务的提交或者回滚,并协调故障恢复。

DTP模型执行流程

  • 第一步:AP使用一组来自RM的资源
  • 第二步:AP通过TM接口定义事务的边界
  • 第三步:TM和RM交换事务信息

我的博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、事务简介 ​ 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(u...
    逗逼程序员阅读 717评论 0 1
  • 本文从以下几个方面介绍分布式事务的解决方案: 为什么会有分布式事务分布式事务经典模型分布式事务解决方案 为什么会有...
    匠丶阅读 6,352评论 0 37
  • OTAPAA评价方式采用的是目前国内外最先进教学评价模式——发展性评价,它的特点包括:应基于一定的培养目标,并在实...
    静_静_阅读 1,192评论 0 1
  • 铜钱草,是绿植中的常客,经常去人家里做客,但主人得学会打理,它才能亭亭如盖。就我本人而言,非常喜欢这一绿植...
    小满mama阅读 1,997评论 24 40
  • “我喜欢看你吃东西的样子,你任性的样子,生气的样子..都很好看。”“我会化作人间的风雨陪在你身边。”“其实我一直把...
    开发之路阅读 526评论 0 0