分布式事务的解决方案
来源:互联网 发布:nginx 403拒绝访问 编辑:程序博客网 时间:2024/05/17 15:04
一.柔性事务中的服务模式
柔性事务的方案中,要实现柔性事务,根据技术方案和业务场景的不同需要,系统需要提供一定的服务模式,服务模式是柔性事务流程中的特殊操作实现。这些服务模式主要有:
1.可查询操作:服务操作具有全局唯一标识(如订单号、交易流水号等)或者组合标识(如商户号+商户订单号),使用全局唯一的服务操作标识,查询操作执行结果。使用时间区段与(或)一组服务操作的标识,批量查询一批操作执行结果。
2.幂等操作(Idempotenty):重复调用多次产生的业务结果与调用一次产生的业务结果相同,即f(f(x)) = f(x)
3.TCC操作:将一步操作拆分成try、confirm、cancel。Try: 尝试执行业务,完成所有业务检查(一致性),预留必须业务资源(准隔离性)。Confirm:确认执行业务,真正执行业务,不作任何业务检查,只使用Try阶段预留的业务资源。Cancel: 取消执行业务,释放Try阶段预留的业务资源。Confirm和Cancel操作要满足幂等性。
4.可补偿操作:完成业务处理后,可进行补偿操作,抵销(或部分抵销)正向业务操作的业务结果。补偿操作满足幂等性,TCC操作中的Confirm操作和Cancel操作,其实也可以看作是补偿操作。
二.柔性事务在实际应用中的解决方案
目前实际应用中,广泛使用的柔性事务解决方案主要有以下三种:
1.可靠消息最终一致方案(异步确何型)
2.TCC方案 (两阶段型、补偿型)
3.最大努力通知方案(非可靠消息、定期校对)
当然还有其它一些方案,这里不做重点介绍。这三种方案各自用到一些服务模式,有各自的优缺点,在后面的文章中再做详细阐述。
- 分布式事务的解决方案
- 分布式事务的解决方案
- 分布式事务的解决方案
- 图解分布式事务的解决方案
- 常用的分布式事务解决方案
- 常用的分布式事务解决方案
- 分布式事务,高并发下分布式事务的解决方案
- 分布式事务的解决方案(一)
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 微服务架构的分布式事务解决方案
- 写点什么呢
- centos通过lftp访问sftp服务器
- codeforces 591C (模拟)
- 该如何创建字符串,使用” “还是构造函数?
- LAMP
- 分布式事务的解决方案
- 1085: 求奇数的乘积(多实例测试)
- 实验吧 Crypto 围在栅栏中的爱 writeup
- 第三周-项目一(1)顺序表的基本运算
- 设计模式之备忘录模式
- CGAL 4.10 官方文档软件包概述 ——组合算法类
- MySQL的索引
- 算法提高 ADV-177 理财计划
- c++多态