Dubbo04【Zookeeper存储数据的数据信息】

举报
波波烤鸭 发表于 2022/03/30 00:19:16 2022/03/30
【摘要】   Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 数据存储结构  ...

  Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用

数据存储结构

  dubbo中的相关数据在zookeeper中的存储结构如下

在这里插入图片描述
流程说明

  1. 服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
  2. 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
  3. 监控中心启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址。

支持以下功能

  1. 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
  2. 当注册中心重启时,能自动恢复注册数据,以及订阅请求
  3. 当会话过期时,能自动恢复注册数据,以及订阅请求
  4. 当设置 <dubbo:registry check=“false” /> 时,记录失败注册和订阅请求,后台定时重试
  5. 可通过 <dubbo:registry username=“admin” password=“1234” /> 设置 zookeeper 登录信息
  6. 可通过 <dubbo:registry group=“dubbo” /> 设置 zookeeper 的根节点,不设置将使用无根树
  7. 支持 * 号通配符 <dubbo:reference group="" version="" />,可订阅服务的所有分组和所有版本的提供者

在这里插入图片描述

具体结构说明

  zookeeper中存储的dubbo数据分三级

序号 节点 说明
1 根节点 dubbo
2 一级子节点 提供服务的服务名
3 二级子节点 固定的四个子节点:分别为:
consumers、configurators、routers、providers

Consumers

  存储服务消费者信息

在这里插入图片描述

属性 描述
application 应用名
category 类型
check 检查
dubbo dubbo版本
interface 接口名称
methods 接口方法名
pid 进程号
side 消费端或服务端
timestamp 时间戳

Providers

  存储服务提供者

[zk: localhost:2181(CONNECTED) 10] ls /dubbo/com.bobo.service.UserService/providers
[dubbo%3A%2F%2F192.168.88.1%3A20880%2Fcom.bobo.service.UserService%3Fanyhost%3Dtrue%26application%3DdubboProvider%26dubbo%3D2.5.3%26group%3Ddubbo%26interface%3Dcom.bobo.service.Us
erService%26methods%3DsayHello%2CtestPojo%26pid%3D21088%26revision%3D1.0.0%26side%3Dprovider%26timeout%3D3000%26timestamp%3D1553650370588%26version%3D1.0.0]

  
 
  • 1
  • 2
  • 3

在这里插入图片描述

属性 描述
anyhost true
application 应用名
dubbo dubbo版本
interface 接口名称
methods 接口方法名
pid 进程号
side 消费端或服务端
timestamp 时间戳

Routers

  路由规则

/dubbo/com.example.dubbo.service.CityService/routers/route://0.0.0.0/com.example.dubbo.service.CityService?category=routers&dynamic=false&enabled=true&force=false&name=cityservice&priority=10&router=condition&rule=method+=+findCityByName+&+consumer.host+=+192.168.198.1+=>+provider.port+=+20881+&+provider.port+!=+20880&runtime=false

  
 
  • 1
属性 描述
Category 类型
Dynamic 是否动态调整,false表示需要手动调整
Enabled 是否启动
Force 是否强制,false表示,如果没有匹配到则调用其它可调用的服务
Name 路由名称
Priority 优先级
Router condition符合条件则路由

访问控制:禁止某ip访问

/dubbo/com.example.dubbo.service.CityService/routers/route://0.0.0.0/com.example.dubbo.service.CityService?category=routers&dynamic=false&enabled=true&force=true&name=com.example.dubbo.service.CityService+blackwhitelist&priority=0&router=condition&rule=consumer.host=192.168.198.1=>false&runtime=false

  
 
  • 1
属性 描述
Category 类型
Dynamic 是否动态调整,false表示需要手动调整
Enabled 是否启动
Force 是否强制,false表示,如果没有匹配到则调用其它可调用的服务
Name 路由名称
Priority 优先级
Router 路由规则IP为192.168.198.1的消费者禁止访问

Configrators

  负载均衡和权重信息
负载均衡

/dubbo/com.example.dubbo.service.CityService/configurators/override://0.0.0.0/com.example.dubbo.service.CityService?category=configurators&dynamic=false&enabled=true&loadbalance=random

  
 
  • 1
属性 描述
Category 类型
Dynamic 是否动态调整,false表示需要手动调整
Enabled 是否启动
Loadbalance 负载均衡策略

权重

/dubbo/com.example.dubbo.service.CityService/configurators/override://192.168.198.1:20880/com.example.dubbo.service.CityService?category=configurators&dynamic=false&enabled=true&weight=200

  
 
  • 1
属性 描述
Category 类型
Dynamic 是否动态调整,false表示需要手动调整
Enabled 是否启动
Weight 权重

文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。

原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/88840597

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。