目录

一 点睛

二 Namespace方案

三 DataID方案

四 Group方案

五 综合方案


一 点睛

Nacos支持“Namespace+group+data ID”的配置解决方案。

二 Namespace方案

通过命名空间实现环境区分。

命名空间是做配置隔离的。

默认:public(默认空间),默认新增的所有配置都在public空间。

应用场景

a 开发、测试和生产:利用命名空间来做环境隔离。

注意:在 bootstrap.properties 配置上,需要使用哪个命名空间下的配置

spring.cloud.nacos.config.namespace=f2628e7f-1f4c-4086-80a1-14c19e8b2f71

b 每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置。

下面是配置步骤

1 创建命名空间

如何看java项目中使用的nacos配置文件 nacos配置列表_微服务

这里创建三个命名空间,分别为dev、test和prod。

2 在dev命名空间下,创建“gulimall-coupon.properties”配置规则。

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_02

3 访问 http://localhost:7000/coupon/coupon/test

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_03

并没有使用我们在dev命名空间下所配置的规则,而是使用的是public命名空间下所配置的规则,这是怎么回事呢?这是因为:如果不指定命名空间,默认就使用public命令空间下的配置。

4 指定命名空间

如果想要使得我们自定义的命名空间生效,需要在“bootstrap.properties”文件中,指定使用哪个命名空间。

spring.cloud.nacos.config.namespace=f2628e7f-1f4c-4086-80a1-14c19e8b2f71

这个命名空间ID来源于我们在第一步所创建的命名空间ID。

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_04

5 重启“gulimall-coupon”,再次访问:http://localhost:7000/coupon/coupon/test

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_05

但是这种命名空间的粒度还是不够细化,对此我们可以为项目的每个微服务创建一个命名空间。

6 为所有微服务创建命名空间

如何看java项目中使用的nacos配置文件 nacos配置列表_spring_06

7 将public命令空间下的配置克隆到coupon命名空间下

如何看java项目中使用的nacos配置文件 nacos配置列表_spring_07

切换到 coupon 命名空间下,查看所克隆的配置。

如何看java项目中使用的nacos配置文件 nacos配置列表_spring_08

8 修改 gulimall-coupon 下的 bootstrap.properties 文件,添加如下配置信息

spring.cloud.nacos.config.namespace=773a607c-e974-4f9c-85f6-4728032cd993

这里指明的是,读取时使用coupon命名空间下的配置。

9 重启 gulimall-coupon ,访问:http://localhost:7000/coupon/coupon/test

如何看java项目中使用的nacos配置文件 nacos配置列表_微服务_09

三 DataID方案

配置集:所有配置的集合。

配置集ID:类似文件名。

Data ID:类似文件名。

通过指定spring.profile.active和配置文件的DataID,来使不同环境下读取不同的配置,读取配置时,使用的是默认命名空间public,默认分组(default_group)下的DataID。

默认情况,Namespace=public,Group=DEFAULT GROUP,默认Cluster是DEFAULT。

四 Group方案

通过Group实现环境区分。

通过使用不同的组,来读取不同的配置,还是以上面的 gulimall-coupon 微服务为例进行说明。

1 新建“gulimall-coupon.properties”,将它置于“temp”组下。

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_10

2 修改“bootstrap.properties”配置,添加如下的配置。

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=f2628e7f-1f4c-4086-80a1-14c19e8b2f71
spring.cloud.nacos.config.group=temp

3 重启“gulimall-coupon”,访问:http://localhost:7000/coupon/coupon/test

如何看java项目中使用的nacos配置文件 nacos配置列表_spring_11

五 综合方案

每个微服务创建自己的命名空间,使用配置分组区分环境,dev,test,prod

1 nacos配置

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_12

2 修改“bootstrap.properties”配置

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=773a607c-e974-4f9c-85f6-4728032cd993
spring.cloud.nacos.config.group=dev

3 重启“gulimall-coupon”,访问:http://localhost:7000/coupon/coupon/test

如何看java项目中使用的nacos配置文件 nacos配置列表_命名空间_13