整个项目请看gitee:https://gitee.com/xwb1056481167/spring-cloud
nacos的搭建请看:https://blog.csdn.net/www1056481167/article/details/113612177
namespace(命令空间)、group(分组)、dataid
1、dataid
Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。 一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包 (如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。这个概念来自于官方文档, 说人话就是配置文件的名字,相当于主键的作用
2、group(分组)
Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组, 从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。 配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。说人话,就是可以分组, 不同的系统或微服务的配置文件可以放在一个组里。比如用户系统和订单系统的配置文件都可以放在同个组中。
3、命名空间(namespace)
用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是 不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等
DataId方案
1、指定spring.profile.active和配置稳健的DataID来使不同环境下读取不同的配置
2、默认空间+默认分组+新建dev和test两个DataID(新建dev配置DataID、新建test配置DataID)
3、通过spring.profile.active属性就能进行多环境下配置文件的读取
group
1、在nacos中新增加两个组TEST_GROUP,DEV_GROUP的相同文件nacos-config-client-info.yaml
2、修改cloudalibaba-config-nacos-client3377的bootstrap新增加group:DEV_GROUP
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos服务注册中心地址
config:
server-addr: localhost:8848 #nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
group: DEV_GROUP #nacos中配置的分组
3、然后application.yml中指定要访问的文件
spring:
profiles:
active: info
启动cloudalibaba-config-nacos-client3377
namespace
命名空间相当于一级目录,group相当于二级目录,dataId相当于三级目录
1、yml配置namespace
1、bootstrap.yml
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos服务注册中心地址
config:
server-addr: localhost:8848 #nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
group: DEV_GROUP #nacos中配置的分组
namespace: 92f42772-0f13-435a-8b19-ee5ce2caeedd #nacos的dev的id
1、application.yml
spring:
profiles:
active: dev #namespace下group下dev的文件
2、nacos创建命名空间以及组合文件