使用Nacos作为配置中心的命名空间、配置分组
作者:kobe_IT
1.命名空间
用来做配置隔离
①默认:public(保留空间):默认新增的所有配置都在public空间,例如开发、测试、生产都有不同的环境:dev(开发环境),test(测试环境),prod(生产环境),利用命名空间做环境隔离,
注意:在bootstrap.properties文件中,配置需要使用哪个命名空间下的配置
可以创建不同的命名空间
例如:
在开发环境中新添加了配置与默认空间(Public)的配置相同,第一张图是dev命名空间,第二张图是public命名空间
如果使用dev命名空间下的配置,则需要在resource目录下的bootstrap.properties文件中进行命名空间的配置,配置namespace时不能写名字,需要复制得到的一长串信息。
spring.cloud.nacos.config.namespace=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
再次启动该服务就会运行dev命名空间下的相关配置获取的信息
②每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的配置
2.配置集
所有配置的集合
3.配置集ID
类似于文件名
4.Data Id
类似于文件名
5.配置分组
默认所有的配置集都属于:DEFAULT_GROUP
想要使用哪个命名空间下的哪个配置分组,就需要在bootstrap.properties文件中进行相应的配置
spring.cloud.nacos.config.namespace=xxxxxxxxxxxxxxxxxxxxxxxxxxxx spring.cloud.nacos.config.group=prod
启动项目后,就会获得相应的信息
6.同时加载多个配置集
例如:
可以将application.yml中对于datasource、mybatis-Plus以及一些其他的配置都可以配置到配置中心中
在nacos中添加完成后,需要在bootstrap.properties文件中进行对应的配置,需在bootstrap.properties说明加载配置中心中哪些配置文件即可
spring.cloud.nacos.config.namespace=xxxxxxxxxxxxxxxxxxxxxxxxx spring.cloud.nacos.config.group=prod spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml spring.cloud.nacos.config.ext-config[0].group=dev spring.cloud.nacos.config.ext-config[0].refresh=true spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml spring.cloud.nacos.config.ext-config[1].group=dev spring.cloud.nacos.config.ext-config[1].refresh=true spring.cloud.nacos.config.ext-config[2].data-id=other.yml spring.cloud.nacos.config.ext-config[2].group=dev spring.cloud.nacos.config.ext-config[2].refresh=true
微服务在启动时也可以看到相应的配置信息, @Value,@ConfigurationProperties等以前SpringBoot任何方法从配置文件中获取值,都可以使用。
配置中心有的优先使用配置中心的
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。