二、dubbo的服务引用源码剖析

前面我们已经大致分析了dubbo的注册中心以及服务注册的源码过程

下面我们分析一下服务引入的流程

一、整体架构图

 

 

 

二、服务引用时序图

 三、消费流程图

 

 

 如上图,服务消费和服务注册一样也是分为两步。

1、将ReferenceConfig转换为invoker

2、将invoker转换为ref

与服务注册一样,我们先来看看org.apache.dubbo.config.spring.ReferenceBean的继承关系

 

 

接下来我们看看org.apache.dubbo.config.ReferenceConfig的具体代码

 

 

 

再看一下init方法

 

 

 在看一下org.apache.dubbo.config.ReferenceConfig#createProxy方法

 

 

 

 

 

这里主要做几件事

1、获取所有服务引用

2、获取所有invoker列表

3、经过cluster筛选出具体的某个invoker(路由、负载均衡)

4、创建服务代理

至此,我们就把dubbo的消费流程代码看完了

 

posted @ 2020-10-11 15:22  十块腹肌的SuperMan  阅读(302)  评论(0编辑  收藏  举报