TCC-Transaction分布式补偿事务框架
https://github.com/changmingxie/tcc-transactionFROMhttps://support.hwclouds.com/devg-servicestage/zh-cn_topic_0056814426.htmlTCC事务为了解决在事务运行过程中大颗粒度资源锁定的问题,业界提出一种新的事务模型,它是基于业务层面的事务定义。锁粒度完全由业务自己控制。它本质是一种
·
https://github.com/changmingxie/tcc-transaction
FROM https://support.hwclouds.com/devg-servicestage/zh-cn_topic_0056814426.html
TCC事务
为了解决在事务运行过程中大颗粒度资源锁定的问题,业界提出一种新的事务模型,它是基于业务层面的事务定义。锁粒度完全由业务自己控制。它本质是一种补偿的思路。它把事务运行过程分成 Try、Confirm / Cancel 两个阶段。在每个阶段的逻辑由业务代码控制。这样就事务的锁粒度可以完全自由控制。业务可以在牺牲隔离性的情况下,获取更高的性能。
- Try 阶段
- Try :尝试执行业务
- 完成所有业务检查( 一致性 )
- 预留必须业务资源( 准隔离性 )
- Try :尝试执行业务
- Confirm / Cancel 阶段:
- Confirm :确认执行业务
- 真正执行业务
- 不做任务业务检查
- Confirm 操作满足幂等性
- Cancel :取消执行业务
- 释放 Try 阶段预留的业务资源
- Cancel 操作满足幂等性
- Confirm 与 Cancel 互斥
- Confirm :确认执行业务
参考文章:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献14条内容
所有评论(0)