zoukankan      html  css  js  c++  java
  • 分布式事务05 两阶段事务

    分布式事务 05 两阶段事务

    两阶段提交是什么?

    • 定义:称为2PC(2 Phase Commit Protocol),意思为1次事务分为两个阶段,是强一致性、中心化的原子提交协议
    • 参与角色:
      • 协调者:一个,TM, 协调与管理事务
      • 参与者:N个,RM,可以使DB或者某些微服务

    两阶段事务分析

    以用户下单使用余额+红包的形式完成支付。

    假设用户下单操作来自3个系统:下订单、资金账户、红包等系统。下单后支付需要调用资金账户服务与红包服务完成支付
    假设100的商品,现使用90元现金与10元红包。

    全局提交

    • 1阶段:事务准备
      • TM询问参与者:是否可以提交?
        • 参与者事务执行成功,则返回“同意”
        • 参与者事务执行失败,则返回“终止”
    • 2阶段: 事务提交
      • TM根据应答觉得全局方向,并通知所有参与者执行决定
        • 都同意,则都提交
        • 出现终止提交,则所有参与者都回滚事务

    全局回滚

    1阶段中出现相应信息为“终止”或相应超时,TM向所有RM发送“回滚操作”的请求,然后参与者向协调者发送“回滚完成”的消息

  • 相关阅读:
    js中this的用法
    js原型链与继承(初体验)
    关于C语言指针中的p++与p+i
    react todolist
    react表单提交
    react条件渲染
    react初体验
    初次接触express
    阿里内推在线编程题(返回元素的选择器)
    模块初始化
  • 原文地址:https://www.cnblogs.com/pipicai96/p/13732305.html
Copyright © 2011-2022 走看看