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发送“回滚操作”的请求,然后参与者向协调者发送“回滚完成”的消息

  • 相关阅读:
    安装tomcat
    sed
    a'w'k
    dwr??
    tomcat-性能?
    windows清理命令
    markdown超链接怎么写?
    ※剑指offer系列19:二叉搜索树与双向链表
    剑指offer系列17:二叉搜索树的后序遍历序列
    剑指offer系列18:二叉树中和为某一值得路径
  • 原文地址:https://www.cnblogs.com/pipicai96/p/13732305.html
Copyright © 2011-2022 走看看