Dubbo注册中心(上)

简介: Dubbo注册中心(上)

1 Dubbo支持多种注册中心

➢ Multicast注册中心[掌握]

➢ Zookeeper注册中心[掌握]

➢ Redis注册中心[了解]

➢ Simple注册中心[了 解]

1.1 Multicast注册中心

使用配置

<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:registry protocol="multicast" address="224.5.6.7:1234" />


为了减少广播量,Dubbo缺省使用单播发送提供者地址信息给消费者,如果一个机器上同时启了多个消费者进程,消费者需声明unicast=false,否则只会有一个消费者能收到消息:


<dubbo:registry address=" multicast://224.5.6.7:1234?unicast=false" />
<adubbo:registry protocol="multicast" ddress="224 5.6.7:1234">
<dubbo:parameter key="unicast" value="false" />
</dubbo:registry>

注解方式参数配置:

dubbo.registry.address=multicast://224.5.6.7:1234

1.1.1 工作原理

局域网使用哦!

image.png

  1. 提供方启动时广播自己的地址
  2. 消费方启动时广播订阅请求
  3. 提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了unicast=false,则广播给订阅者
  4. 消费方收到提供方地址时,连接该地址进行RPC调用


1.1.2 特点

➢ Multicast注册中心不需要启动任何中心节点,只要组播地址一样,就可以互相发现。

➢ 组播受网络结构限制,只适合小规模应用或开发阶段使用。组播地址段: 224.0.0.0-239.255.255.255


1.2 Zookeeper注册中心

1.2.1 使用配置

  1. 在provider和consumer中增加zookeeper客户端jar包依赖:
<!--引入zookeeper服务对应版本的zookeeper jar -->
<dependency>
<groupld>org.apache.zookeeper</groupld>
<artifactld>zookeeper</artifactld>
<version>3.4.11</version>
</dependency>
  1. Dubbo支持zkclient和curator两种Zookeeper客户端实现
<dubbo:registry address="zookeeper://10.20.153.10:2181" 
  client= "zkclient" />
<dubbo:registry protocol"zookeeper" address=" 
  10.20.153.10:2181" client-"curator" />
dubbo.registry.client=zkclient

Dubbo2.6.6版本默认使用curator

  1. 使用zkclient zookeeper客户端
  2. 使用curator zookeeper客户端
<!-- 默认使用的是第三方 zookeeper 客户端 curator -->
<dependency>
  <groupld>org.apache.curator</groupld>
  <artifactld>curator- framework</artifactld>
  <version>4.2.0</version> 
  <!-- 如果您使用的zk服务版本不是3.5,请排除自动依赖,再单独引入zk依赖 -->
  <exclusions>
    <exclusion>
      <groupld>org.apache.zookeeper</groupld>
      <artifactld> zookeeper</artifactld>
    </exclusion>
  </exclusions>
</dependency>
  1. zookeepe集群配置
<dubbo:registry address= "zookeeper://10.20.153.10:2181?backup- 10.20.153.11:2181,10.20.153.12:2181" />
<dubbo:registry protocol" zookeeper" address-"10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />

image.png

➢ 服务提供者启动时:向/dubbo/com.foo.BarService/providers目录下写入自己的URL地址


➢ 服务消费者启动时:订阅/dubbo/com.foo.BarService/providers目录下的提供者URL地址。

并向/dubbo/com.foo.BarService/consumers目录下写入自己的URL地址


➢ 监控中心启动时:订阅/dubbo/com.foo.BarService目录下的所有提供者和消费者URL地址。

Zookeeper注册中心支持以下功能:

➢ 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息

➢ 当注册中心重启时,能自动恢复注册数据,以及订阅请求

➢ 当会话过期时,能自动恢复注册数据,以及订阅请求

➢ 当设置<dubbo:registry check=“false” />时,记录失败注册和订阅请求,后台定时重试

➢ 可通过<dubbo:registry username=" admin" password=“1234” />设置zookeeper登录信息

➢ 可通过<dubbo:registry group=“dubbo” />设置zookeeper的根节点,不设置将使用无根树

➢ 支持号通配符<dubbo:reference group="" version="*" />,可订阅服务的所有分组和所有版本的提供者


同一Zookeeper,分成多组注册中心:

<dubbo:registry id="chinaRegistry" protocol="zookeeper" address=" 10.20.153.10:2181" group="china" />
<dubbo:registry id="intlRegistry" protocol="zookeeper" address=" 10.20.153.10:2181" group="intl" /> 

特点

➢ 适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用


目录
相关文章
|
Dubbo 应用服务中间件 开发工具
以zookeeper作为注册中心的分布式服务框架dubbo的部署安装
以zookeeper作为注册中心的分布式服务框架dubbo的部署安装
|
缓存 Dubbo Java
Java面试题顶级理解!Dubbo注册中心挂了,服务还可以继续通信吗?
什么情况?一位工作了 5 年的 Java 程序员,竟然回答不出这个问题?说“Dubbo注册中心挂了, 服务之间还可以继续通信吗”?今天,我话2分钟时间给大家来聊一聊。
426 0
|
Dubbo 应用服务中间件 Apache
Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移
如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?
197 4
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
1030 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
Dubbo 网络协议 Java
深入掌握Dubbo服务提供者发布与注册原理
该文章主要介绍了Dubbo服务提供者发布与注册的原理,包括服务发布的流程、多协议发布、构建Invoker、注册到注册中心等过程。
深入掌握Dubbo服务提供者发布与注册原理
|
Dubbo Java 应用服务中间件
深度剖析:Dubbo使用Nacos注册中心的坑
2020年笔者在做微服务部件升级时,Dubbo的注册中心从Zookeeper切换到Nacos碰到个问题,最近刷Github又有网友提到类似的问题,就在这篇文章里做个梳理和总结。
深度剖析:Dubbo使用Nacos注册中心的坑
|
Dubbo Cloud Native 应用服务中间件
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
677 1
|
负载均衡 Dubbo Java
Dubbo 挂载到 Spring Cloud 注册中心
【2月更文挑战第12天】Dubbo 挂载到 Spring Cloud 注册中心
253 7
|
XML Dubbo Java
【Dubbo3高级特性】「框架与服务」 Nacos作为注册中心-服务分组及服务分组聚合实现
【Dubbo3高级特性】「框架与服务」 Nacos作为注册中心-服务分组及服务分组聚合实现
533 0
|
存储 Dubbo 应用服务中间件
SpringCloud | Dubbo 微服务实战——注册中心详解
SpringCloud | Dubbo 微服务实战——注册中心详解

热门文章

最新文章