Nacos
1 前提条件
- 了解 Dubbo 基本开发步骤
- 安装并启动 Nacos
当 Dubbo 使用
3.0.0
及以上版本时,需要使用 Nacos2.0.0
及以上版本。
2 使用说明
2.1 添加 Maven 依赖
如果项目已启用 Nacos 作为注册中心,则无需额外配置。
如果未启用 Nacos 注册表,请参阅 [向注册表添加 Nacos 依赖项](../../registry/nacos/#21-Add dependencies)。
2.2 启用 Nacos 配置中心
<dubbo:config-center address="nacos://127.0.0.1:8848"/>
或
dubbo
config-center
address: nacos://127.0.0.1:8848
或
dubbo.config-center.address=nacos://127.0.0.1:8848
或
ConfigCenterConfig configCenter = new ConfigCenterConfig();
configCenter.setAddress("nacos://127.0.0.1:8848");
有关 address
格式,请参阅 [Nacos 注册表 - 启用配置](../../registry/nacos/#22-configure and enable-nacos)
3 高级配置
要启用身份验证,请参阅 Nacos 注册表 - 启用身份验证
3.1 外部配置
3.1.1 全局外部化配置
1. 应用程序打开配置中心配置
dubbo
config-center
address: nacos://127.0.0.1:2181
config-file: dubbo.properties # optional
config-file
- 全局外部化配置文件键值,默认为 dubbo.properties
。 config-file
表示 Dubbo 配置文件存储在远程注册中心时,在配置中心中对应的文件键值,一般不建议修改此配置项。
2. 向 Nacos 服务器添加配置
dataId 为 dubbo.properties
,组分组与 config-center 一致,如果未设置,则默认为 dubbo
。
3.1.2 应用程序特定的外部化配置
1. 应用程序打开配置中心配置
dubbo
config-center
address: nacos://127.0.0.1:2181
app-config-file: dubbo.properties # optional
app-config-file
- 当前应用程序特定的外部化配置文件键值,例如 app-name-dubbo.properties
,仅在需要覆盖全局外部化配置文件 config-file
时配置。
2. 向 Nacos 服务器添加配置
dataId 为 dubbo.properties
,组设置为应用程序名称,即 demo-provider
。
3.2 设置组和命名空间
dubbo
config-center
address: zookeeper://127.0.0.1:2181
group: dubbo-cluster1
namespace: dev1
对于配置中心,group
和 namespace
应该在整个公司(集群)内统一,防止不同的应用程序使用不同的值。
3.3 Nacos 扩展配置
有关 Nacos sdk/server 支持的更多参数配置,请参阅 [Nacos 注册表 - 更多配置](../../registry/nacos/#35-More Configurations)
4 流量治理规则
对于 Nacos,所有流量治理规则和外部配置都应该是全局可见的,因此同一逻辑集群中的应用程序必须使用相同的命名空间和组。其中,命名空间的默认值为 public
,组的默认值为 dubbo
。应用程序不应在未经授权的情况下修改命名空间和组,除非它可以保持全局一致性。
建议通过 dubbo-admin 添加、删除和修改流量治理规则。有关更多信息,请参阅 Dubbo 支持的流量治理功能。
流量治理规则有很多种类型,不同类型规则的 dataId 后缀不同