Zookeeper
Zookeeper 配置中心的基本用法和工作原理。
1 前提条件
- 了解 Dubbo 基本开发步骤
- 安装并启动 Zookeeper
2 使用说明
在此处查看 完整示例代码
2.1 添加 Maven 依赖
如果项目已启用 Zookeeper 作为注册中心,则无需额外配置。
如果未使用 Zookeeper 注册中心,请参考 为注册中心添加 Zookeeper 相关依赖。
2.2 启用 Zookeeper 配置中心
<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
或
dubbo
config-center
address: zookeeper://127.0.0.1:2181
或
dubbo.config-center.address=zookeeper://127.0.0.1:2181
或
ConfigCenterConfig configCenter = new ConfigCenterConfig();
configCenter.setAddress("zookeeper://127.0.0.1:2181");
有关 address
格式,请参考 [zookeeper 注册中心 - 启用配置](../../registry/zookeeper/#22-configure and enable-zookeeper)
3 高级配置
要启用身份验证,请参考 [zookeeper 注册中心 - 启用身份验证](../../registry/zookeeper/#31-authentication and authentication)
3.1 自定义外部配置键
1. 启用外部配置并指定键
dubbo
config-center
address: zookeeper://127.0.0.1:2181
config-file: dubbo.properties
config-file
- 外部化配置文件键值,默认为 dubbo.properties
。 config-file
表示 Dubbo 配置文件存储在远程注册中心时,文件中对应的键值,一般不建议修改此配置项。
2. 将配置添加到 Zookeeper 配置中心 外部化配置的存储结构如下图所示
- 命名空间,用于不同配置的环境隔离。
- config,Dubbo 约定的固定节点,不可更改,所有配置和流量治理规则均存储在此节点下。
- dubbo 和 application 分别用于隔离全局配置和应用级配置:dubbo 是默认组值,application 对应应用名称
- dubbo.properties,此节点的节点值存储具体的配置内容
这里是为了解释工作原理,建议使用 dubbo-admin 进行配置管理。
3.2 设置组和命名空间
dubbo
config-center
address: zookeeper://127.0.0.1:2181
group: dubbo-cluster1
namespace: dev1
对于配置中心,group
和 namespace
应在公司(集群)范围内统一,避免不同应用使用不同的值,外部配置和治理规则也应存储在相应的组和命名空间下。
4 流量治理规则
默认情况下,所有流量治理规则都存储在 /dubbo/config
节点下。具体节点结构图如下。建议通过 dubbo-admin 添加、删除和修改流量治理规则。有关更多信息,请参考 Dubbo 支持的具体流量治理功能
- 命名空间,用于不同配置的环境隔离。
- config,Dubbo 约定的固定节点,不可更改,所有配置和流量治理规则均存储在此节点下。
- dubbo,所有服务治理规则都是全局的,dubbo 是默认节点
- configurators/tag-router/condition-router/migration,不同的服务治理规则类型,节点值存储具体的规则内容
上次修改时间:2023 年 1 月 2 日: 增强英文文档 (#1798) (95a9f4f6c1c)