Loading

Nacos命名空间分组和DataID三者关系

1.名词解释

命名空间(Namespace):用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

个人倾向把namespace当做项目来区分,在实际开发中可能是多个部门多个项目使用同一套配置中心

配置分组(Group):Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。

配置集 ID(Data ID):Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。

配置集:一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。

三者关系

这三者的关系类似于Java里面的package名和类名,最外层的Namespace是可以用于区分部署环境的,Group和DataID逻辑上区分两个目标对象。

image

默认情况:

Namespace=public,Group=DEFAULT_GROUP,默认Cluster是DEFAULT

2.切换不同的环境

创建namespace

image

创建配置,指定分组

image

相关代码配置:

bootstrap.yml

server:
port: 3377

spring:
application:
 name: nacos-config-3377
cloud:
 nacos:
   config:
     server-addr: 192.168.56.10:8848
     file-extension: yml
     group: group-dev #指定分组
     namespace: P000001 #指定命名空间ID
profiles:
 active: dev # 表示开发环境
posted @ 2022-05-21 00:12  ZT丶  阅读(682)  评论(0编辑  收藏  举报