Dubbo注册中心

Dubbo 注册中心
Dubbo注册中心是实现分布式环境中各服务之间的注册和发现。
Dubbo注册中心的源码在dubbo-registry中主要分为5各模块:

  • dubbo-registry-api 包含注册中心所有的API和抽象实现类;
  • dubbo-registry-zookeeper 使用Zookpeer作为注册中心的实现’;
  • dubbo-registry-redis 使用redis作为注册中心的实现;
  • dubbo-registry-default dubbo基于内存的默认实现;
  • dubbo-registry-multicast multicat模式的服务注册和发现;

注册中心的数据结构
Zookeeper:zookeeper是树形结构的注册中心,节点主要分为持久化节点、持久化顺序节点、临时节点、临时顺序节点。
Dubbo使用zookeeper作为注册中心时,只会创建持久化节点和临时节点。
树形结构的节点主要分为四层:

  • root 注册中心的分类;
  • service 接口名称
  • type 四种服务目录之一(providers、consumers、configurations、routers)
  • URL 每种服务目录的dubbo服务的URL

Redis:redis存储是以键值对的数据结构,也是分为四层去存,不过redis的key是root + service +type , value也是一个map,它的key是URL ,value是过期时间,因为redis存储是有有效期的。

注册中心的订阅机制是:
客户度第一次全量拉取节点下的所有数据,并向订阅的节点上注册一个watcher,保持一个TCP的长连接。后续客户端监听的节点有任何变动,监听器回调通知客户端,客户端收到通知以后,再从注册中心全量拉取该节点下的所有数据

注册中心的缓存:
注册中心或消费者在获取到注册信息后,会做本地缓存。一份放在内存中,保存在properties对象中,一份持久化到磁盘中,通过file对象进行引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值