dubbo源码研究(一)

1. dubbo源码研究(一)

1.1. dubbo启动加载过程

  1. 我们知道,现在流行注解方式,用spring管理服务,dubbo最常用的就是@Reference@Service了,那么我首先找到这两个实现的地方

1.1.1. @service实现

  1. 由下图可知
    751560-20190419113329972-689732225.png
  2. 可以看到实现方法以BeanPostProcessor结尾,看过spring源码的都知道,这是spring加载过程的一环,具体在哪个过程,可以异步我整理的知识架构之一https://www.processon.com/view/link/5cb096e3e4b09a003b2f1972的spring模块看看在第几步
  3. 总之,它实现了spring的BeanDefinitionRegistryPostProcessor接口和多个Aware相关接口,在spring初始化时加载相关注解

1.2. 代理调用

  1. 看起来对用户有点意义的地方

751560-20190419145809793-5333368.png

  1. 看下图所示的过程,核心就在上图的调用过程了
    1

  2. 后续调用默认使用FailOver失败转移的类,再到netty调用
    751560-20190419150645637-328380597.png

1.3. 消费端加载过程

  1. 加载url
    751560-20190419174029810-147697176.png

1.4. 注意点

1.4.1. 路由调用

  1. 当服务提供者全部被设不匹配后,除非强制,否则设置不起作用;在测试的时候,由于我只有本身一台window机器,服务ip就一个,所有我设置了不匹配该ip是不起作用的,因为总共就一个-_-||

751560-20190419172042899-91421029.png

1.4.2. 默认负载策略

  1. 默认负载均衡策略是随机
    751560-20190419172733051-740751252.png

转载于:https://www.cnblogs.com/sky-chen/p/10737659.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值