支付宝蚂蚁金服-柔性事务的定义与分类
关注人数:27 发布时间:2021-12-24 20:38:12
柔性事务的定义

刚性事务(如单数据库)完全遵循 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 是将资源层的二阶段提交协议转换到业务层,成为业务模型中的一部分。
异步确保型
将一些有同步冲突的事务操作变为异步操作,避免对数据库事务的争用,如消息事务机制。
比较大努力通知型
通过通知服务器(消息通知)进行,允许失败,有补充机制。

上一篇:支付宝学历可以乱填吗?
下一篇:支付宝中定时转账如何取消?









