微服务架构分布式事务方案

栏目: 后端 · 发布时间: 5年前

内容简介:第一节:了解常用的分布式解决方案一、分布式事务方案:最终一致性、事务补偿、TCC、两阶段提交、最大能力通知等。具体结合业务场景。很多大型企业自主研发了自己的分布式事务解决方案,如:支付宝 XTS,去哪儿 QMQ。1.基于可靠消息的最终一致性解决方案(异步确保型)(适用场景比较广)
编辑推荐:
本文来自于oschina,本文主要介绍了什么是分布式解决方案以及常用分布式事务方案等相关内容。

第一节:了解常用的分布式解决方案

一、分布式事务方案:最终一致性、事务补偿、TCC、两阶段提交、最大能力通知等。具体结合业务场景。很多大型企业自主研发了自己的分布式事务解决方案,如:支付宝 XTS,去哪儿 QMQ。

1.基于可靠消息的最终一致性解决方案(异步确保型)(适用场景比较广)

2.TCC事务补偿性方案(try-confirm-cancel)(也属于两阶段型的,但区别于2PC协议的两阶段提交)

3.最大努力通知型方案(一般跨平台通知比较常用)

第二节:解决方案效果展示(结合支付系统真实应用场景)

微服务架构分布式事务方案

微服务架构分布式事务方案

一.场景(如上图)

1、基于可靠消息最终一致性方案

场景:对应支付系统会计异步记账业务;银行通知结果信息存储与驱动订单处理。

2、TCC方案

场景:对应支付系统的订单账户操作:订单处理、资金账户处理、积分账户处理。

3、最大努力通知型方案

场景:对应支付系统的商户通知业务场景

二、用到的技术:

dubbo、spring、springMVC、mybatis、druid

jdk7(或jdk8)、 mysql 5.6、tomcat、兼容JMS标准的MQ(activeMQ)

第三节:常用分布式事务方案介绍

一、事务介绍

1.由一组操作构成的可靠、独立的工作单元。

2.ACID: atomicity(原子性) 、consistency(一致性)、isolation(隔离性)、durability(持久性)

3.难点:高度并发、资源分布、大时间跨度

二、本地事务

1.事务由资源管理器本地管理(如:spring 注解)

2.优点:支持严格的ACID属性、可靠、高效、状态可以只在资源管理器中维护、应用编程模型简单(在框架或平台的支持)

3.局限:不支持分布式事务处理能力、隔离的最小单位由资源管理器决定(如:数据库中的一条记录)

三、全局事务(DTP模型)--标准分布式事务

微服务架构分布式事务方案

微服务架构分布式事务方案

四、javaEE平台中的分布式事务实现

微服务架构分布式事务方案

五、柔性事务

微服务架构分布式事务方案

1.柔性事务中的服务模式:可查询模式、幂等操作、TCC操作、可补偿操作。

微服务架构分布式事务方案

2.柔性事务解决方案:可靠消息最终一致

微服务架构分布式事务方案

微服务架构分布式事务方案

3.TCC

微服务架构分布式事务方案

微服务架构分布式事务方案

4.最大努力通知型

微服务架构分布式事务方案

六、总结

常用的分布式事务解决方案:

*刚性事务:全局事务(标准的分布式事务)

*柔性事务:

可靠消息最终一致(异步确认型)

TCC(两阶段型、补偿型)

最大努力通知型(非可靠消息、定期校对)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏化思维

游戏化思维

[美] 凯文·韦巴赫(Kevin Werbach)、[美] 丹·亨特(Dan Hunter) / 周逵、王晓丹 / 浙江人民出版社 / 2014-4 / 36.90

[内容简介] ●本书由开设了全世界第一个游戏化课程的沃顿商学院副教授凯文·韦巴赫和丹·亨特所著,第一次全面系统地介绍游戏化的理论,阐述了如何将游戏的理念应用到商业实践中。 ●作者指出,在商业竞争日益激烈的今天,传统的激励方式渐渐失效,未来的管理将更多地建立在员工和消费者的内在动机和自我激励上。这些制作精良、设计巧妙的游戏建立在多年来对人类动机和人类心理的研究基础之上,可以最大限度地激发......一起来看看 《游戏化思维》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具