配置集( Data ID)
一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。
Data ID 通常用于组织划分系统的配置集。每个配置集都可以被一个有意义的名称标识,就是配置集的ID即Data ID。
配置项
配置集中包含的一个个配置内容就是配置项。一个具体的可配置的参数与其值域,通常以 param-key=param-value 的形式存在。例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR) 就是一个配置项。
配置分组(Group)
配置分组就是对配置集进行分组。Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。
命名空间(Namespace)
命名空间可用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发环境,测试环境和生产环境的资源(如配置、服务)隔离等。不同的命名空间下,可以存在相同名称的配置分组(Group)或配置集。
常用方案:
Nacos抽象的定义了Namespace、Group和Data ID这几个概念,可能光描述有些晦涩难懂,可以推荐一个我常使用的也应该是很通用的一种用法,如下所示:
Namespace:主要用来区分不同环境,我的命名方式一般是项目名+环境。如我有一个xxx项目,我会起一个xxx-dev用于开发人员本地开发使用,xxx-test用于测试环境使用。
Group:主要用来代表项目。如果只有单一的项目,没必要麻烦,默认的即可。如果有多个项目用一个nacos环境,可以用xx项目,aa项目作为Group值来区分配置文件。
DataId:因为现在大多是微服务,每一个项目下有若干个服务(工程),每个配置集(DataID)是一个工程的主配置文件,我个人习惯是当前服务(项目)名+对应的环境。如xxx-system-dev.yaml。
总结
如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、转发、收藏,您的支持是我坚持写作最大的动力。