多环境管理
在Nacos中,通过Data ID、Group、Namespace三种属性实现多环境的管理,通过这三种属性可以组合出很多种用法,官方对此也没有固定规定,因此只需要根据业务选择具体的组合方式。
本节代码将在上一节的基础上进行修改,代码示例可以查看模块
alibaba-nacos-config-client-profiles
使用Data ID与profiles实现
Data ID对应配置文件中的spring.application.name或spring.cloud.nacos.config.prefix;Data ID默认情况下是${spring.application.name}.properties,当同时存在prefix和name时,Data ID是${spring.cloud.nacos.config.prefix}.properties;- 末尾的
.properties可以通过spring.cloud.nacos.config.file-extension进行修改; - 同时,
Data ID可以识别spring.profiles.active进行不同环境的配置加载,这时Data ID是${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension},这也是完整的Data ID匹配规格。
第一步:在Nacos新建配置
第二步:修改bootstrap.properties中配置
spring.application.name=alibaba-nacos-config-clientserver.port=8002spring.profiles.active=devspring.cloud.nacos.config.server-addr=127.0.0.1:8848
第三步:curl访问HTTP接口,查看配置内容是否加载成功:
wujiawei@wujiaweideMacBook-Pro ~ % curl http://localhost:8002/echoalibaba-nacos-config-client-dev.properties
使用Group实现
第一步:在Nacos中创建不同Group的配置
第二步:修改bootstrap.properties
spring.application.name=alibaba-nacos-config-clientserver.port=8002spring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.group=DEV_GROUP
第三步:curl请求HTTP接口
wujiawei@wujiaweideMacBook-Pro ~ % curl http://localhost:8002/echoDEV_GROUP alibaba-nacos-config-client.properties
使用Namespace实现
这时最常用的配置方式,同时也是官方建议的方式,保证配置内容不会杂而混乱。
第一步:在Nacos中创建Namespace及配置


第二步:修改bootstrap.properties
其中namespace的值为命名空间ID,注意是ID
spring.application.name=alibaba-nacos-config-clientserver.port=8002spring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.namespace=dev
第三步:启动应用,curl访问接口
wujiawei@wujiaweideMacBook-Pro ~ % curl http://localhost:8002/echoalibaba-nacos-config-client..namespace..dev
代码示例
- Github:
- Gitee:
