zoukankan      html  css  js  c++  java
  • 分布式事务

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

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

    典型分布式事务场景:

    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节点或事务发起者

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

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

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/lenlen/p/10114689.html
Copyright © 2011-2022 走看看