目录
场景:像这种集群搭建,多个节点使用配置文件肯定是类似的,所以我们可以在配置中心读取我们的配置文件,或者说,利用变量分离的思想, 开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。
没有统一配置中心的常见问题:
- 配置文件分散在各个项目里,不方便维护
- 配置内容安全与权限
- 更新配置后,项目需要重启
nacos配置中心:系统配置的集中管理(编辑、存储、分发)、动态更新不重启、回滚配置(变更管理、历史版本管理、变更审计)等所有与配置相关的活动。
读取nacos配置文件
1.首先进行创建
2.输入配置信息
${prefix}-${spring.profile.active}.${file-extension}
服务名称-dev环境.文件扩展名类型
springBoot配置文件加载顺序
这里主要是说明application和bootstrap的加载顺序。
1.bootstrap.yml(bootstrap.properties)先加载
2.application.yml(application.properties)后加载
bootstrap.yml 用于应用程序上下文的引导阶段。
bootstrap.yml 由父Spring ApplicationContext加载。
父ApplicationContext 被加载到使用 application.yml 的之前。
如果说配置了环境
spring.profiles.active=dev——>就会加载application-dev.properties文件
bootstrap和application的区别
bootstrap.yml 和application.yml 都可以用来配置参数。
bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
application.yml 可以用来定义应用级别的。
修改bootstrap.properties配置文件
里面的配置的dataId是配置中心的一个节点
- #配置中心地址
- spring.cloud.nacos.config.server-addr=82.157.198.247:8848
-
- #spring.profiles.active=dev
-
- # 该配置影响统一配置中心中的dataId
- spring.application.name=service-statistics
导入依赖
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
- dependency>
命名空间切换->配置不同环境的配置文件
实操不同名称空间切换
然后去配置列表看看
可以克隆到其他环境中
我们可以在配置文件中指定是在哪个环境
然后在服务中bootstrap中进行修改,添加指定环境命名空间
多文件配置读取
1. 在生产dev环境下配置两个配置文件
2.然后再在服务中的bootstrap文件中进行配置,对多个配置文件进行读取
记得要开启动态刷新配置,否则配置文件修改,工程无法感知