当前位置 鱼摆摆网 > 教程 > 淘宝开店 > 网店知识库 >

支付宝蚂蚁金服-柔性事务的定义与分类

  作者:肖钦   2019-03-27 15:20

柔性事务的定义

刚性事务(如单数据库)完全遵循 ACID 规范,即数据库事务正确执行的四个基本要素:

  • 原子性(Atomicity)

  • 一致性(Consistency)

  • 隔离性(Isolation)

  • 持久性(Durability)

柔性事务(如分布式事务)为了满足可用性、性能与降级服务的需要,降低一致性(Consistency)与隔离性(Isolation)的要求,遵循 BASE 理论:

  • 基本业务可用性(Basic Availability)

  • 柔性状态(Soft state)

  • 最终一致性(Eventual consistency)

同样的,柔性事务也部分遵循 ACID 规范:

  • 原子性:严格遵循

  • 一致性:事务完成后的一致性严格遵循;事务中的一致性可适当放宽

  • 隔离性:并行事务间不可影响;事务中间结果可见性允许安全放宽

  • 持久性:严格遵循

柔性事务的分类

柔性事务分为:两阶段型、补偿型、异步确保型、最大努力通知型。

  • 两阶段型
    分布式事务二阶段提交,对应技术上的 XA、JTA/JTS,这是分布式环境下事务处理的典型模式。

  • 补偿型
    TCC 型事务(Try-Confirm-Cancel)可以归为补偿型。在 Try 成功的情况下,如果事务要回滚,Cancel 将作为一个补偿机制,回滚 Try 操作;TCC 各操作事务本地化,且尽早提交(没有两阶段约束);当全局事务要求回滚时,通过另一个本地事务实现“补偿”行为。
    TCC 是将资源层的二阶段提交协议转换到业务层,成为业务模型中的一部分。

  • 异步确保型
    将一些有同步冲突的事务操作变为异步操作,避免对数据库事务的争用,如消息事务机制。

  • 最大努力通知型
    通过通知服务器(消息通知)进行,允许失败,有补充机制。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yubaibai360@qq.com 举报,一经查实,本站将立刻删除。

[ 标签:支付宝蚂蚁金服 ]
  • 全部评论(0
说点什么吧