dubbo
dubbo原理介绍
脚踏实地,仰望星空
加油,坚持努力。
展开
-
Dubbo之服务超时机制源码分析
一:超时设置DUBBO有很多地方可以配置超时时间,可以配置在消费者,可以配置在生产者,可以配置为方法级别,可以配置为接口级别,还可以配置为全局级别,DUBBO官方文档介绍这些配置优先级如下:第一优先级:方法级 > 接口级 > 全局级第二优先级:消费者 > 生产者从源码层面对超时机制进行分析,我们首先分析优先级如何生效,然后再分析超时机制在消费者和生产者分别如何实现。二:配置优先级1:消费者 > 生产者配置生产者接口级别超时时间1000毫秒<bea原创 2022-04-27 22:29:43 · 1028 阅读 · 0 评论 -
Dubbo之服务本地缓存源码分析
一:设计思路根据官方图,dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者,但是如果频繁往ZK获取信息,肯定会存在单点故障问题,所以dubbo提供了将提供者信息缓存在本地的方法。 Dubbo在订阅注册中心的回调处理逻辑当中会保存服务提供者信息到本地缓存文件当中(同步/异步两种方式),以url纬度进行全量保存。 Dubbo在服务引用过程中会创建registry对象并加载本地缓存文件,会优先订阅注册中心,订阅注册中心失败后会访问本地缓存文件内容获取服务提供信息。 二:核心实现类.原创 2022-04-27 21:50:38 · 362 阅读 · 0 评论 -
Dubbo之扩展机制SPI源码分析
JDK的SPI思想SPI的全名为Service Provider Interface,面向对象的设计里面,模块之间推荐基于接口编程,而不是对实现类进行硬编码,这样做也是为了模块设计的可拔插原则。为了在模块装配的时候不在程序里指明是哪个实现,就需要一种服务发现的机制,jdk的spi就是为某个接口寻找服务实现。jdk提供了服务实现查找的工具类:java.util.ServiceLoader,它会去加载META-INF/service/目录下的配置文件。具体的内部实现逻辑为这里先不展开,主要还是讲解dubbo原创 2022-04-27 21:26:22 · 757 阅读 · 0 评论 -
IDEA中构建dubbo源码环境
一:源码的下载下载链接二:代码编译Dubbo 使用 maven 作为构建工具。要求Java 1.5 以上的版本 Maven 2.2.1 或者以上的版本使用以下命令做一次构建(-Dmaven.test.skip跳过单元测试)mvn install -Dmaven.test.skip由于代码中的依赖比较多,所以编译时间稍长一点。编译完成就可以开始看源码了,效果如下:对应的版本是2.6x...原创 2022-04-27 21:12:46 · 352 阅读 · 0 评论 -
Dubbo架构图和Dubbo执行流程
一:Dubbo架构图和Dubbo执行流程Dubbo架构图从架构图可以看出,Consumer服务消费者,Provider服务提供者。Container服务容器。消费当然是invoke提供者了,invoke这条实线按照图上的说明当然是同步的意思了。但是在实际调用过程中,Provider的位置对于Consumer来说是透明的,上一次调用服务的位置(IP地址)和下一次调用服务的位置,是不确定的。这个地方就需要使用注册中心来实现软负载。Register服务提供者先启动start,然后注册regist原创 2021-07-03 23:29:07 · 1591 阅读 · 2 评论 -
Dubbo + Hystrix 实现服务熔断
一:Dubbo + Hystrix 实现服务熔断原创 2021-05-19 00:24:17 · 196 阅读 · 0 评论 -
dubbo-admin管理后台的搭建
一:dubbo-admin管理后台的搭建原创 2021-03-26 00:03:34 · 123 阅读 · 0 评论