【Spring Cloud Alibaba】10.分布式配置管理(Nacos Config)之多环境配置
像Spring Boot多环境配置一样去为Nacos Config做多环境配置,面对复杂的生产测试和开发环境, `Spring` 为我们提供了 `Profile` 这个功能,我们只需要在启动的时候添加一个虚拟机参数,激活自己环境所要用的 `Profile` 就可以了。
简介
接下来对分布式项目实现统一配置管理,本操作先要完成之前的步骤,详情请参照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程
Spring Boot Profile
面对复杂的生产测试和开发环境, Spring
为我们提供了 Profile
这个功能,我们只需要在启动的时候添加一个虚拟机参数,激活自己环境所要用的 Profile
就可以了。
操作起来很简单,只需要为不同的环境编写专门的配置文件,application-{profile}.properties/yml
或者是bootstrap-{profile}.properties/yml
,如:application-dev.yml
、application-prod.yml
, 启动项目时只需要增加一个命令参数 --spring.profiles.active=环境配置
即可,启动命令如下:
java -jar moonce-1.0.0-SNAPSHOT.jar --spring.profiles.active=prod
这样我们使用的就是application-prod.yml
中的配置
Nacos Config Profile
在我们的Nacos
中依然支持这种加载方式,spring-cloud-starter-alibaba-nacos-config
在加载配置的时候,不仅仅加载了以 dataid
为 ${spring.application.name}.${file-extension:properties}
为前缀的基础配置,还加载了 dataid
为 ${spring.application.name}-${profile}.${file-extension:properties}
的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过 Spring
提供的 ${spring.profiles.active}
这个配置项来配置。
Nacos设置
浏览器打开 http://localhost:8848/nacos
,访问 Nacos Server
点击创建配置按钮
接下来,为我们的服务提供者(moonce-provider)创建配置文件:
注意:端口由
8080
改为8081
,user.name
改为prod
。
moonce-provider-config-prod.yaml
spring:
application:
name: moonce-provider
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server:
port: 8082
management:
endpoints:
web:
exposure:
include: "*"
# 测试
user:
name: "prod"
点击发布,查看列表
微服务设置
找到我们之前的服务提供者(moonce-provider)模块,进行如下修改
修改配置文件
新增配置文件,命名为bootstrap-prod.properties
,内容如下
bootstrap-prod.properties
# 配置文件选择
spring.profiles.active=prod
# 这里的应用名对应 Nacos Config 中的 Data ID,实际应用名称以配置中心的配置为准
spring.application.name=moonce-provider-config
# 指定查找名为 nacos-provider-config.yaml 的配置文件
spring.cloud.nacos.config.file-extension=yaml
# Nacos Server 的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
注意:主要增加了
spring.profiles.active=prod
配置,用于指定访问 Nacos Server 中的 nacos-provider-config-prod.yaml 配置
启动项目
此时我们有两个配置文件,分别为 bootstrap.properties
和 bootstrap-prod.properties
,我们需要指定启动时加载哪一个配置文件,操作流程如下:
复制服务中的ProviderApplication
启动项
配置如下
观察日志,判断是否成功加载配置
浏览器访问地址http://localhost:8082/hi
,结果如下:
更多推荐
所有评论(0)