zoukankan      html  css  js  c++  java
  • 分布式协调与同步之分布式事务

    分布式事务的概念

    事务

        包含一系列操作的,一个有边界的工作序列,有明确的开始和结束标志,且要么被完全执行,要么完全失败

    分布式事务

        分布式系统中运行的事务,有多个本地事务组合而成

    基本特征

        原子性,一致性,隔离性和持久性

    刚性事务和柔性事务

        刚性事务:遵循ACID原则,具有强一致性

        柔性事务:根据不同的业务场景使用不同的方法实现最终一致性,可以容忍一定时间内的数据不一致

    BASE理论

        基本可用:分布式系统出现故障时,允许损失一部分功能的可用性

        柔性状态:允许系统存在中间状态且不会影响系统整体可用性

        最终一致性:最终状态下数据都是一致的

    分布式事务的实现方法

    基于XA协议的二阶段提交协议方法

    角色:协调者(事务管理器)和参与者(本地资源管理器)

    阶段:投票阶段和提交阶段

    特点:强一致性,同步执行,算法简单易实现

    问题:同步阻塞,单点故障以及数据不一致问题,性能低,系统吞吐量低

    三阶段提交协议方法

    角色:协调者(事务管理器)和参与者(本地资源管理器)

    阶段:增加了预提交阶段,引入超时机制和准备机制

    特点:强一致性,同步执行,无同步故障问题,无单点故障问题

    问题:数据不一致问题,性能较低,系统吞吐量不高

    基于消息的最终一致性方法

    核心思想:将事务通过消息或者日志的方式异步执行,消息可以持久化到本地文件,数据库或者消息队列中,再通过业务规则进行失败重试

    特点:最终一致性,异步执行,无同步阻塞和单点故障问题,性能高,吞吐量高

    缺点:算法复杂度高

  • 相关阅读:
    JVM 的主要组成部分及其作用
    一天一个 Linux 命令(5):pwd命令
    算法-经典趣题-马踏棋盘(又称骑士周游)
    SAP HANA Schemas 和 HDI Containers
    如何手动下载并安装 Visual Studio Code 的 SAP Fiori tools
    一个最简单的 Github workflow 例子
    SAP UI5 初学者教程之七
    最近看的动漫和电影
    关于工作,干了这碗鸡汤
    啊啊啊啊啊啊
  • 原文地址:https://www.cnblogs.com/battlescars/p/distributed_transaction.html
Copyright © 2011-2022 走看看