Bootstrap

Nacos配置隔离

1. 配置隔离

1.1. Nacos配置管理模型

Nacos(Naming and Configuration Service)是一个开源的分布式系统服务发现、配置管理和服务管理平台,它支持多种语言和多种环境下的微服务架构。Nacos提供了配置管理、服务发现、动态配置、服务跟踪、流量管理等一系列功能。在Nacos中,配置管理模型是其中一个重要的功能。

Nacos的配置管理模型分为三个部分:

1.数据类型

Nacos支持多种数据类型,包括文本(TEXT)、JSON、XML、YAML等。不同的数据类型对应不同的数据解析方式,可以根据需求选择不同的数据类型。

2.数据集

在Nacos中,配置数据被组织成一个个的数据集。每个数据集都有一个唯一的ID和一个数据类型。数据集中包含了一组键值对,每个键值对对应一个具体的配置项。数据集可以用来管理一组相关的配置项,比如数据库连接参数、缓存配置等。

3.命名空间

命名空间是一个独立的配置环境,用于隔离不同的应用程序或不同的部署环境。每个命名空间都有一个唯一的命名空间ID和一组数据集。命名空间可以用来管理不同的配置环境,如测试环境、预发布环境和生产环境等。

通过配置管理模型,Nacos提供了一个灵活的配置管理方式,可以根据实际需求进行配置管理和部署,使得应用程序可以快速适应不同的部署环境和配置需求

Namespace Group DataId介绍:

  • Namespace: 代表不同的环境的配置隔离, 如: 开发、测试, 生产等

  • Group: 可以代表某个项目, 如XX医疗项目, XX电商项目

  • DataId: 每个项目下往往有若干个工程, 每个配置集(DataId)是一个工程的主配置文件

获取配置集需要指定:

  1. nacos服务地址,必须指定

  1. namespace,如不指定默认public

  1. group,如不指定默认 DEFAULT_GROUP

  1. dataId,必须指定

1.2. namespace隔离

前面已经介绍过,命名空间(Namespace)是用于隔离多个环境的(如开发、测试、生产),而每个应用在不同环境的同一个配置(如数据库数据源)的值是不一样的。因此,我们应针对企业项目实际研发流程、环境进行规划。如某软件公司拥有开发、测试、生产三套环境,那么我们应该针对这三个环境分别建立三个namespace。

1.2.1. 新建namespace

新建namespace

建立好所有namespace后,在配置管理与服务管理模块下所有页面,都会包含用于切换namespace的选项卡,如下图:

1.2.2. 克隆配置文件

点击左下角克隆按钮,将会弹出克隆对话框,此功能可用于将配置迁移到其他Namespace。

选择目标空间

1.2.3. 读取配置文件

1.3 group隔离

1.3.1 新建配置文件

新建配置文件并修改Group名

不同的配置分组下可以有相同的配置

1.3.2. 读取配置文件

1.4. 服务隔离

1.4.1. 修改配置文件

1.4.2. 测试

;