Dubbo源码剖析二之注册中心

  Dubbo基础二之架构及处理流程概述 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中架构中,无论是服务提供者还是服务消费者都离不开注册中心,可见注册中心之重要。RedisNacosZookeeper等这些开源框架均作为Dubbo的注册中心,Dubbo推荐用户使用Zookeeper作为注册中心。

  之前文章案例也均使用Zookeeper作为注册中心,所以本文研究注册中心,也就研究Dubbo如何整合Zookeeper并使用。对于Zookeeper,可参考Zookeeper - 随笔分类 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)

  Dubbo本身是使用Zookeeper的业务应用系统,所以从建设应用系统的角度研究注册中心。

  注册之前,Dubbo必需与Zookeeper服务器建立链接,Dubbo中使用开源客户端Curator。调试可以发现Dubbo链接到Zookeeper使用的是扩展点机制(参考DubboSPI机制二之Dubbo中SPI初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)):

    

    

    

  所以参考Curator链接Zookeeper的文章即可Zookeeper开源客户端Curator之创建会话 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)。在Dubbo中具体链接源码如下:

    

  链接成功后进行注册,可以看到注册后Zookeeper的的目录结构,如下:

    

  1)从图示可知所有的目录都在dubbo层级下

  2)dubbo根结点下面是当前所拥有的接口名称、如果有多个接口则会以多个子节点的形式展开

  3)每个服务下面又分别有四个配置

    

   4)dubbo基本上是通过URL的形式进行交互获取数据的,在URL中也会保存很多信息。

     

    提供者会在providers目录下对自身进行注册。

    消费者会在consumers目录下进行自身注册并监听providers目录,以此通过监听提供者增加或者减少实现服务发现

    监控器会对整个服务级别进行监听,用来获取整体服务情况。并通过此操作更多的对整体情况做监听。

 

 

 

 

 

 

 

  

 

 

 

  

posted on 2021-08-12 20:23  池塘里洗澡的鸭子  阅读(196)  评论(0编辑  收藏  举报