概念介绍
配置集(Configuration Set)
?个配置文件就是?个配置集。
新建配置集路径:配置管理-配置列表-添加按钮
命名空间(Namespace)
用于配置文件隔离,例如:区分不同租户,开发环境、生产环境等。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。如果没有配置namespace(的命名空间ID),默认使用 public 命名空间。
配置组(Group)
Nacos 中的?组配置集,是配置的维度之?。不同的group可以存在相同的或不同的 Data ID,配置分组的名称默认采用 DEFAULT_GROUP。配置分组的常见场景:不同的应用或组件使用了相同的配置。
配置 ID(Data ID)
Nacos 中的某个配置集的 ID。Data ID 通常用于划分系统的配置集。?个系统或者应用可以包含多个配置集。DataID 尽量保障全局唯?,Spring Cloud Nacos 中的命名规则:
${prefix}-${spring.profiles.active}-${file-extension}
配置快照(Configuration Snapshot)
Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使用配置快照显示系统的整体容灾能力。配置快照类似于 Git 中的本地 commit,也类似于缓存,会在适当的时机更新,但是并没有缓存过期(expiration)的概念。
配置模型
基础模型
1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。
配置资源模型
从单个租户的角度来看,我们要配置多套环境的配置,可以根据不同的环境来创建 Namespace 。比如开发环境、测试环境、线上环境,我们就创建对应的 Namespace(dev、test、prod),Nacos 会自动生成对应的 Namespace Id 。如果同?个环境内想配置相同的配置,可以通过Group 来区分。如下图所示:
从多个租户的角度来看,每个租户都可以有自己的命名空间。我们可以为每个用户创建?个命名空间,并给用户分配对应的权限,比如多个租户(zhangsan、lisi、wangwu),每个租户都想有?套自己的多环境配置,也就是每个租户都想配置多套环境。那么可以给每个租户创建?个 Namespace (zhangsan、lisi、wangwu)。同样会生成对应的 Namespace Id。然后使用 Group 来区分不同环境的配置。如下图所示:
?
?
?
|