第五章 Nacos之配置分类
文章目录
- 第五章 Nacos之配置分类
- 前言
- 一、Nacos配置管理和命名空间
- 二、Namespace+Group+Data ID三者关系
- 1.Nacos 的 Namespace 的概念
- 2. Group介绍
- 3. Data Id
- 4. 三者关系
- 总结
前言
一个大型分布式微服务系统会有很多微服务子项目,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境。针对这个问题,nacos为我们提供了NameSpace,Group,Data Id来进行配置文件的分类管理。
一、Nacos配置管理和命名空间
二、Namespace+Group+Data ID三者关系
1.Nacos 的 Namespace 的概念
用于进行配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
也就是说Namespace命名空间主要是用于不同的开发环境的隔离。例如test测试环境,dev开发环境的隔离,如下图新建几个命名空间测试:
可以看到在配置管理界面看到多个命名空间,在dev里面新建配置文件,然后并且在项目的yml文件中配置该命名空间的Key。
运行项目访问成功
2. Group介绍
Group的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。
在没有明确指定group 配置的情况下, 默认使用的是 DEFAULT_GROUP 。如果需要自定义自己的 Group,可以通过以下配置来实现:
spring:
cloud:
nacos:
config:
# 此处为group配置
group: DEFAULT_GROUP
我们可以在新建配置时为配置设置group分组,然后相应的模块配置中指定该分组即可生效。
3. Data Id
Data Id即为我们配置文件的命名,相应的是我们在模块中配置的服务名、开发环境、配置文件类型,具体命名规则如下:
{spring.profile.active}.${spring.cloud.nacos.config.file-extension}
4. 三者关系
从上图可以看出,命名空间包含 Group 和 Data Id,一个命名空间可以包含多个Group,一个Group可以包含多个Data Id。
总结
Nacos的配置分离管理可以很好的在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。主要有Namespace、Group、Data ID三种不同粒度的分类管理,跟方便我们集中管理分布式配置文件。