Nacos例子下载地址:
https://gitee.com/lennon12345/nacos-example
nacos多环境支持
背景
我们在做项目开发的时候,可能会存在多种环境,并且每一种环境所设置的配置都是不同的,所以我们可能会在线上手工修改这些配置信息。同时 Spring 中为我们提供了 Profile 这个功能。我们只需要在启动的时候添加一个虚拟机参数,激活自己环境所要用的 Profile 就可以了。
操作起来很简单,只需要为不同的环境编写专门的配置文件,如:application-dev.yml、application-prod.yml, 启动项目时只需要增加一个命令参数 --spring.profiles.active=环境名称 即可。
测试环境 test
开发环境 dev
生产环境 prod
Nacos支持不同环境配置
nacos可以同时支持多环境配置。只需要在nacos配置中心中根据dataId进行区分即可。dataId 完整的拼接格式如下:
在 Nacos Config Starter 中,dataId 完整的拼接格式如下
${prefix}-${spring.profiles.active}.${file-extension}
1.其中 prefix 默认为 spring.application.name 的值
也可以通过配置项
spring.cloud.nacos.config.prefix来配置。
- spring.profiles.active 即为当前环境对应的 profile
- file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。 目前只支持 properties 类型。
- 1)修改bootstrap.yml
添加:
profiles:
active: dev #开发环境 _ 多环境支持下新增
prefix: nacos-web #前缀 _ 多环境支持下新增
整体如下:
spring:
profiles:
active: dev #开发环境 _ 多环境支持下新增
application:
name: nacos-web
cloud:
nacos:
discovery:
server-addr: 192.168.22.128:8848
config:
server-addr: 192.168.22.128:8848
file-extension: yml #指定文件扩展名,默认为propertiess
prefix: nacos-web #前缀 _ 多环境支持下新增
server:
port: 9100
#健康检查
management:
endpoints:
web:
exposure:
include: "*"
#日志
logging:
level:
org.springframework.web: debug
- nacos中新增配置信息
- 访问项目后的效果:
总结:项目配置了新环境变量:active: dev后,则可以读取在nacos中配置的nacos-web-dev.yml文件