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

  • 相关阅读:
    CodeVs 1295 N皇后问题
    POJ 3349 Snowflake Snow Snowflakes
    链表API
    Hash API
    CodeVS 1220 数字三角形
    CodeVS 1045 回文数
    CodeVS 1058 合唱队形(DP--最长子序列问题)
    CodeVS 1018 单词接龙(DFS)
    关于图覆盖问题习题BY石家名
    软件测试作业(二)
  • 原文地址:https://www.cnblogs.com/pipicai96/p/13732305.html
Copyright © 2011-2022 走看看