• 分布式事务


    本地事务————操作单一数据库————数据库支持提供

    分布式事务————一个业务横跨多个服务,操作多个数据库————保证不同资源服务器的数据一致性

    典型分布式事务场景:

    1.跨库事务:某个功能需要操作多个库

    2.分库分表: 一个库数据量比较大或预期未来数据量比较大,进行水平拆分,也就是分库分表。(保证两个库要不都成功,要不都失败)

          数据库中渐渐都面临分布式事务问题。

    3.服务化(SOA)  微服务框架  业务复杂  既考虑事务又要考虑性能

              保证微服务对多个数据库的操作要不都成功,要不都失败。

    解决方法:X/open  DTP模型与XA规范

    一.DTP模型

      1.构成DTP模型的五个基本元素:应用程序(Application Progeam,简称AP)

                    资源管理器(Resource  Manager,简称RM)

                    事务管理器(Transaction Manager,简称TM)

                    通信资源管理器(Commurication Resoutce Manager,简称CRM)

                    通信协议(Communication Protocol,简称cp)

      2.模型实例

        一个DTP模型实例,至少有三个部分:AP、RMS、TM

        服务化事务DTP模型:

        解决方案:每个模型中,额外加入一个通信资源管理器CRM。

        两个模型采用同一个事务管理器(TM)

        CRM:具备基本通信能力,具备事务传播能力

    全局事务树形结构,当一个TM中有在多模型实例时,会形成一种树形调用关系。

      发起事务的模型实例称之为root节点或事务发起者

      其他模型——事务参与者——执行自己的事务分支

      按模型调用关系分:调用方——上有节点    被调用方——下游节点

  • 相关阅读:
    完美世界(完美世界(北京)网络技术有限公司)
    盛大
    虚商来袭,蜗牛免卡动真格了!--------------------------数据控?看看虚拟运营有多热
    使用properties配置文件为javabean注入属性值
    spring的list ,set,map,properties注入(set,get注入)
    控制反转和依赖注入
    bean的生命周期以及延迟实例化
    bean的单例
    spring的配置文件和加载
    mysql外键设置选项
  • 原文地址:https://www.cnblogs.com/lenlen/p/10114689.html
Copyright © 2020-2023  润新知