前面我们已经大致分析了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的消费流程代码看完了