前言:dubbo rpc 服务需要将服务提供者和消费者信息进行注册,以便于消费端可以完成远程接口调用;注册中心是 Dubbo 服务治理的核心组件,Dubbo 依赖注册中心的协调实现服务(地址)发现,自动化的服务发现是微服务实现动态扩缩容、负载均衡、流量治理的基础。
1 基本使用:
开发应用时必须指定 Dubbo 注册中心(registry)组件,配置很简单,只需指定注册中心的集群地址即可:
以 Spring Boot 开发为例,在 application.yml 增加 registry 配置项目:
dubbo
registry
address: {protocol}://{cluster-address}
- 其中,protocol 为选择的配置中心类型,cluster-address 为访问注册中心的集群地址,如:
address: nacos://localshot:8848 - 如需集群格式地址可使用 backup 参数
address: nacos://localshot:8848?backup=localshot:8846,localshot:8847
2 注册中心的实现:
2.1 使用spring-cloud 的注册中心:
修改bootstrap.yml ,服务端和消费端得注册地址:
dubbo:
protocol:
name: dubbo
port: 20881
registry:
address: spring-cloud://localhost #使用SpringCloud中的注册中心
2.2 使用zookeeper 的注册中心:
2.2.1 配置注册中心地址:
dubbo:
protocol:
name: dubbo
port: 20881
registry:
address: zookeeper://localhost:2181 #使用zookeeper中的注册中心
# 存储Dubbo启动阶段的全局配置,保证配置的跨环境共享与全局一致性,负责服务治理规则(路由规则、动态配置等)的存储与推送。
use-as-config-center: false
# 接收Provider服务端上报的服务接口元数据,为Admin等控制台提供运维能力(如服务测试、接口文档等)
# 作为服务发现机制的补充,提供额外的接口/方法级别配置信息的同步能力,相当于注册中心的额外扩展
use-as-metadata-center: false
增加zookeeper 的pom 依赖包:
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.1</version>
<type>pom</type>
</dependency>
Zookeeper Server 与 Dubbo 版本依赖的兼容性:
2.2.2 查看注册情况:
1)PrettyZoo 工具查看
工具百度网盘链接: https://pan.baidu.com/s/1-eNmI_oQ0BonEBf__10Gig?pwd=8q92 提取码: 8q92
下载后进行解压,双击 prettyZoo.exe 完成运行:选择中文语言:
添加zookeeper 连接地址进行连接:
dubbo 节点下可以看到注册的服务端和消费端信息:
2.3 使用nacos 的注册中心:
2.3.1 配置注册中心地址:
dubbo:
protocol:
name: dubbo
port: 20881
registry:
address: nacos://localhost:8848 #使用nacos中的注册中心
# 存储Dubbo启动阶段的全局配置,保证配置的跨环境共享与全局一致性,负责服务治理规则(路由规则、动态配置等)的存储与推送。
use-as-config-center: false
# 接收Provider服务端上报的服务接口元数据,为Admin等控制台提供运维能力(如服务测试、接口文档等)
# 作为服务发现机制的补充,提供额外的接口/方法级别配置信息的同步能力,相当于注册中心的额外扩展
use-as-metadata-center: false
2.3.2 登录nacos 可以在服务列表,public 分组下看到服务端和消费端的信息:
参考:
1 dubbo 注册中心;