Dubbo笔记③——服务注册与服务暴露的底层分析

服务注册

服务注册的流程如下

  1. 读取配置信息
  2. 将配置信息放入zookeeper

Dubbo的服务注册配置有很多种方式,大致有以下5种

  1. xml,属于bean初始化值
    在这里插入图片描述
  2. -D 系统配置
    在这里插入图片描述
  3. 配置中心——global全局配置
    在这里插入图片描述
  4. 配置中心——app全局配置
    可以在上面的页面上通过指定应用名配置单独的服务
  5. dubbo.properties文件
    在这里插入图片描述
    Dubbo会将这些配置信息全部读取出来,这个五个地方的配置信息分别存放在不同的容器中,不过在refresh方法中会将这五个地方的配置信息汇总起来,之后会根据优先级读取相应的配置。

这个方法中会将所有配置信息存储在一个LinkedList中,最后也会按顺序取相应的配置信息,所以排在前面的优先级最高。

getConfiguration方法中会将除了xml配置的bean初始值之外的配置信息放入那个集合中
在这里插入图片描述
在这里插入图片描述
会发现顺序如下

-D 系统配置——>配置中心,app配置——>配置中心,global全局配置——>dubbo.properties文件

之后会将xml配置的bean初始值插入到这个集合中去,这里会有两种策略,一种是配置优先,一种是非配置优先

  • 配置优先:-D 系统配置——>配置中心,app配置——>配置中心,global全局配置——>xml,bean初始值——>dubbo.properties文件
  • 非配置优先:-D 系统配置——>xml,bean初始值——配置中心,app配置——>配置中心,global全局配置——>dubbo.properties文件

在这里插入图片描述
之后就会从集合中遍历属性并取得属性值,如果不为空就赋值
在这里插入图片描述
接着每个服务会别封装成一个URL,这个url中包括注册中心的地址和服务的配置信息
在这里插入图片描述
最后会将这个url存储在zookeeper中

配置的优先级
1.子节点覆盖父节点
2.子节点取父节点配置信息

服务暴露

export方法中暴露服务,启动服务器
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值