阿里分布式中间件Seata从入门到精通
最近在写一本关于阿里巴巴分布式事务中间件 Seata 的电子书,Seata可以说是分布式事务中间件中最完善的了,包括了 AT、TCC、Saga、XA 四种模式,目前 Seata 已经更新到了 1.4.2 版本。这本电子书主要分成两部分,第一部分是入门学习,目前已经更新完成,第二部分是源码解读,Seata 的源代码写的还可以,值得阅读。整本书目前的目录结构如下:喜欢的朋友欢迎下载学习。获取方式:关....

阿里中间件seata源码剖析六:TCC模式中2阶段提交实现
上篇文章中,我们以TCC模式的demo为例,讲解了seata中全局事务的开启。在这个demo中,TM作为一个全局事务的管理者,会依次调用订单服务、账户服务和库存服务,如果其中一个服务抛出异常,TM就会调用失败抛出异常,这时就会通知TC,进而TC会通知RM进行事务的回滚。如果TM没有异常,就会通知TC进行事务的commit,进而TC通知RM进行事务提交。这个过程我用下面的时序图来表示:具体在RM中....

阿里中间件seata源码剖析五:聊聊seata中全局事务的开启
在之前的文章《springcloud+eureka整合seata-tcc模式》中,我写了一个使用seata实现TCC模式的demo,这个demo中,我们使用了springcloud+eureka来实现的微服务,其中包括订单服务、账户服务和库存服务,服务聚合在订单这个服务。我们再来看一下TCC的官方流程图,RM都注册到TC,业务开始后,TM发起全局事务,RM报告分支事务状态,如果都prepare成....

阿里中间件seata源码剖析四:AT模式2阶段提交
还记得之前讲的AT模式吗?可以回顾一下这篇文章《springcloud+eureka整合分布式事务中间件seata》这里主要讲述了springcloud+eureka微服务场景下AT模式的使用。AT模式的全局事务是依赖于分支事务(单个服务或者单个数据源的事务)的,而分支事务本质上并没有实现2阶段提交,它能模拟出2阶段提交依赖的是undolog,这个mysql本身的2阶段提交是非常类似的。分支事务....

阿里中间件seata源码剖析三:聊聊seata中的ShutdownHook
前面我用2篇文章分别讲了seata中客户端(TM和RM)和服务端seata-server的初始化过程,如果熟悉seata这个分布式中间件的使用的话,这个过程还是非常清晰的。有2个地方我没有讲解,就是这2个流程初始化过程的ShutdownHook。TM、RM的shutdown之前讲过,GlobalTransactionScanner这个类就是客户端的初始化类,初始化的方法在afterPropert....

阿里中间件seata源码剖析二:聊聊TC的初始化
上一节seata源码讲解中,我们分析了RM和TM的初始化,而RM和TM的初始化,其实就是向TC建立连接,之后通过跟TC的连接来管理事务。本文我们来聊一聊TC作为server端的初始化过程。这一次,我们还是把之前讲的springcloud整合seata-tcc模式的架构图贴出来,不熟悉的可以查看这篇文章《springcloud+eureka整合seata-tcc模式》订单服务(order-serv....

阿里中间件seata源码剖析一:聊聊RM和TM客户端初始化
这篇开始,介绍一下seata的源代码。我们再看一下seata官方TCC模式下的这张图片:而RM和TC的职责如下:Transaction Coordinator(TC): Maintain status of global and branch transactions, drive the global commit or rollback. Resource Manager(RM): Mana....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
中间件阿里相关内容
中间件
为企业提供高效、稳定、易扩展的中间件产品。
+关注