dubbo源码研究(一)
程序员文章站
2022-04-09 10:09:19
1. dubbo源码研究(一) 1.1. dubbo启动加载过程 1. 我们知道,现在流行注解方式,用spring管理服务,dubbo最常用的就是 和`@Service`了,那么我首先找到这两个实现的地方 1.1.1. 实现 1. 由下图可知 2. 可以看到实现方法以BeanPostProcesso ......
1. dubbo源码研究(一)
1.1. dubbo启动加载过程
- 我们知道,现在流行注解方式,用spring管理服务,dubbo最常用的就是
@reference
和@service
了,那么我首先找到这两个实现的地方
1.1.1. @service
实现
- 由下图可知
- 可以看到实现方法以beanpostprocessor结尾,看过spring源码的都知道,这是spring加载过程的一环,具体在哪个过程,可以异步我整理的知识架构之一
https://www.processon.com/view/link/5cb096e3e4b09a003b2f1972
的spring模块看看在第几步 - 总之,它实现了spring的
beandefinitionregistrypostprocessor
接口和多个aware相关接口,在spring初始化时加载相关注解
1.2. 代理调用
- 看起来对用户有点意义的地方
看下图所示的过程,核心就在上图的调用过程了
后续调用默认使用failover失败转移的类,再到netty调用
1.3. 消费端加载过程
- 加载url
1.4. 注意点
1.4.1. 路由调用
- 当服务提供者全部被设不匹配后,除非强制,否则设置不起作用;在测试的时候,由于我只有本身一台window机器,服务ip就一个,所有我设置了不匹配该ip是不起作用的,因为总共就一个-_-||
1.4.2. 默认负载策略
- 默认负载均衡策略是随机
上一篇: PHP中使用mktime获取时间戳的一个黑色幽默分析
下一篇: net core体系-1概要
推荐阅读
-
基于Spring注解的上下文初始化过程源码解析(一)
-
kubernetes垃圾回收器GarbageCollector源码分析(一)
-
Linux系统下怎么用CheckInstall从源码创建一个RPM或DEB包
-
得到影视源码分享(有演示),带一键采集,亲测能用,适合懒人做电影站!
-
netty源码解析(4.0)-28 ByteBuf内存池:PooledByteBufAllocator-把一切组装起来
-
Flink中watermark为什么选择最小一条(源码分析)
-
Python的socket模块源码中的一些实现要点分析
-
CJSON源码研究笔记
-
荐 使用IDEA搭建一个简单的JavaWeb图书管理项目(详细步骤指导、提供源码)
-
spring Boot环境下dubbo+zookeeper的一个基础讲解与示例