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

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

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

  • 相关阅读:
    打包应用和构建Docker镜像(docker在windows上)
    Docker 在Windows上的安装
    Docker Zero Deployment and Secrets (二)
    Docker Zero Deployment and Secrets (一)
    系统基础信息模块psutil之获取系统性能篇
    IPython的安装方法
    用三种方法设置CentOS7使用代理服务器上网
    CentOS7修改pypi源
    CentOS7升级Python3
    CPU频率的简单测试工具
  • 原文地址:https://www.cnblogs.com/lenlen/p/10114689.html
Copyright © 2011-2022 走看看