栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Dubbo注册中心之ZK原理概述

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dubbo注册中心之ZK原理概述

无论采用那种组件作为注册中心,多多少少有数据结构的不一致的问题。所以dubbo-registry-api包也只能给一个总体的框架和流程,数据结构和实现往往需要具体问题具体分析。这块我们跟随书来学一下ZK和redis的原理。

1、Zookeeper原理概述

我们知道ZK是树状的结构的注册中心,用ZK做分布式锁也是判断叶子节点存在与否的过程。之前我们也讲过,ZK节点有好多中类型,比如持久性节点,持久性顺序节点,临时节点,临时顺序节点。

持久节点:服务注册后保证节点不会丢失,注册中心重启也会存在。

持久顺序节点:在持久节点的特性基础上增加了节点先后顺序的能力。

临时节点:服务注册后连接丢失或者session超时,注册节点会自动被移除。

临时顺序节点:在临时节点的特性基础上增加了节点先后顺序的能力。

Dubbo使用Zk做注册中心时,只会创建持久节点和临时节点两种,对创建的顺序性并没有要求。

如:

/dubbo/com.tencent.service.testService/provider是服务提供者在ZK注册中心的路劲示例,其实一种树状结构,该结构分为4层:

root(根节点,对应示例中的dubbo)

Service(接口名称,对应示例中的com.tencent.service.testService)

服务目录(对应示例中的provider,同类的还有consumers、routers、configurators)

树状结构的关系如下:

1、树的根节点是注册中心的分组,下面有多个服务接口,分组值来自用户配置的中的group属性,默认为是/dubbo

2、服务接口下包括四类目录,分别是providers、consumers、routers、configurators这个路径是持久化节点。

3、服务提供者目录(/dubbo/service/providers)下面包含的接口有多个服务url元数据信息。

4、服务消费者目录(/dubbo/service/consumers)下面包含的接口有多个消费者url元数据信息。

5、路由配置目录(/dubbo/service/routers)下面包含多个用于消费者路由策略url元数据信息,路由配置后边再说。

6、动态配置目录(/dubbo/service/configurators)下面包含多个用于服务者动态配置url元数据信息。

Dubbo框架启动的时候,会根据用户配置的服务,注册中心创建4个目录,在providers和consumers目录中分别存储服务提供方,消费方的元数据信息,主要包括ip、port、权重和应用名称等数据。

在dubbo框架进行调用时,用户可以通过服务治理平台(dubbo-admin)下发路由配置,如果在运行期间改变服务参数,则用户可以通过服务治理平台(dubbo-admin)下发动态配置,服务器端会通过订阅机制收到属性变更,并重新更新已经暴露的服务。

目录名称

存储值示例

/dubbo/service/providers

Dubbo://192.168.21.20:20880/com.alibaba.service?key=value

/dubbo/service/consumers

Consumser://192.168.21.21:8080/com.alibaba.service?key=value

/dubbo/service/routers

Condition://0.0.0.0/com.alibaba.service?category=routers

/dubbo/service/configurators

Override://0.0.0.0/com.alibaba.service?configory=configurator

服务元数据中的所有参数都是以键值对的形式存储,以服务元数据为例:

Dubbo://192.168.21.20:20880/com.alibaba.service?category=provider&name=demo-provider&..

服务元数据中包括了两个键值对,第一个key为category,key的值为provider

Dobbo中启动注册中心的方式如下:


   //适用于一个集群有多个节点,多个ip和端口用逗号隔开
  
// 适用于多个集群有多个节点,多个ip和端口用竖线分隔
  

                           祝:周一愉快!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1040804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号