简述Dubbo的服务引用的流程 ?

Dubbo的服务引用的流程如下:

  1. 加载:在启动时,Dubbo会通过initialize()方法完成初始化,装配各种Config对象,为后续的服务暴露和引用准备好环境。
  2. 引用服务:在DubboBootstrap初始化结束后,会调用DubboBootstrap#referServices()方法引用依赖的服务。这个过程主要是从ConfigManager提取出所有的ReferenceConfig对象,然后调用每个的get()方法创建代理对象。
  3. 构建远程调用代理:在服务引入时,Dubbo会根据引入的服务类型(是否是本地引入还是远程引入)来构建对应的远程调用代理。如果是本地引入,会构建一个本地引入的URL然后进行服务的引入;如果是远程引入,则需要判断点对点直连provider还是通过注册中心拿到provider信息再进行连接。
  4. 远程服务调用:最后通过代理封装invoker返回代理实现,完成远程服务调用。

发表评论

后才能评论