自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Seata解析-TM、RM、TC交互流程梳理

本文基于seata 0.7.1版本seata涉及到三个角色之间的交互,本文通过流程图将AT模式下的基本交互流程梳理一下,为我们以后的解析打下基础。假设有三个微服务,分别是服务A、B、C,其中服务A中调用了服务B和服务C,TM、TC、RM三者之间的交互流程如下图:1、服务A启动时,GlobalTransactionScanner会对有@GlobalTransaction注解的方法进行AOP增强,并生成代理,增强的代码位于GlobalTransactionalInterceptor类中,当调用@Gl.

2020-08-31 22:20:11 11562 20

原创 Seata解析-seata服务端启动初探

本文基于seata 1.3.0版本文章《Seata解析-seata部署启动初体验》介绍了seata的功能。seata提供四种方式解决了分布式事务问题,seata使用客户端-服务器模式,TM和RM作为客户端,TC作为事务协调者部署在服务端。seata的服务端独立部署,功能相对简单,因此从解析服务端开启探索seata的步伐。本文目录一、服务端的启动脚本二、服务端启动类Server一、服务端的启动脚本seata服务端启动需要使用启动脚本,启动脚本位于bin目录下:第一个文件是Windows系统使.

2020-08-31 17:40:38 1897

原创 Seata解析-seata整体架构初探

本文基于seata 0.7.1版本从本文开始,我计划分析seata的源代码,学习一下分布式事务的几种实现方式。我分析的版本是基于seata 0.7.1。下图显示的是seata整体的代码量,我们看到java文件有774个,行数有102846。分析的整体工作量相对来说还是比较大的。作为源码分析的第一篇文章,先来看一下seata的整体结构。下面依次说明每个模块的作用:all:里面只有一个pom文件,表示seata的依赖包bom:也是只有一个pom文件,all模块的pom文件指定了依赖了哪些包.

2020-08-21 18:05:16 902

原创 dubbo解析-RpcContext解析

本文基于dubbo 2.7.5版本代码dubbo提供了RpcContext上下文对象。我们可以使用该对象传递隐式参数,同时该对象也记录了一次调用的状态数据。先介绍如何传递隐式参数。RpcContext提供了attachments属性,客户端调用时,使用:RpcContext contentx=RpcContext.getContext();contentx.setAttachment("isTest","测试");//调用远程服务remoteService.service();服务端使.

2020-08-16 19:57:38 2978

原创 dubbo解析-回声测试实现原理

dubbo的回声测试功能作用是,当客户端正式访问服务端前通过回声测试,以了解服务是否可用或者网络是否畅通,而且还可以使用该功能对服务监控。dubbo的每个服务都自动实现了EchoService接口,使用方式也非常简单。

2020-08-08 21:36:22 855

原创 Seata解析-seata部署启动初体验

本文基于seata 1.3版本seata是由阿里巴巴开源的分布式事务框架,用于在分布式环境中保持事务一致性。它提供了四种事务模式:AT、TCC、SAGA 和 XA 事务模式,默认是AT模式。seata是客户端-服务器模式,每当客户端开启事务时,都向服务器注册事务,当事务结束通知服务器,服务器根据事务状态选择提交事务或者回滚。Seata中涉及到了三种角色:TC、TM和RM。TC是单独部署于服务端,RM和TM位于客户端。角色英文名中文名作用TCTransaction Coo.

2020-08-03 12:20:31 3787

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除