配置中心可以做什么事情:
可以让集群中的每一台服务器都读取一个地方(配置中心)的文件
读取Nacos配置中心的配置文件
1、在Nacos创建统一配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/7b0fa0502f6d85d1d657e24f508bb21f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3c9675f01d78a6e5d4bf6939e102e33.png)
a)Data ID 的完整规则格式如下
${prefix}-${spring.profile.active}.${file-extension}
- prefix 默认为所属工程配置spring.application.name 的值(即:nacos-provider),也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
- spring.profiles.active=dev 即为当前环境对应的 profile。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
2、以service-statistics模块为例
(1)在service中引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
(2)创建bootstrap.properties配置文件
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 该配置影响统一配置中心中的dataId
spring.application.name=service-statistics
#设置具体的命名空间,dev、test、prod
spring.cloud.nacos.config.namespace=7af8b24f-491c-476c-88e0-c7d1ac97a92a
#添加配置,加载多个配置文件
spring.cloud.nacos.config.ext-config[0].data-id=prot.properties
# 开启动态刷新配置,否则配置文件修改,工程无法感知
spring.cloud.nacos.config.ext-config[0].refresh=true
3、补充:springboot配置文件加载顺序
其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。推荐使用yml,更简洁。
bootstrap与application
(1)加载顺序
这里主要是说明application和bootstrap的加载顺序。
bootstrap.yml(bootstrap.properties)先加载
application.yml(application.properties)后加载
bootstrap.yml 用于应用程序上下文的引导阶段。
bootstrap.yml 由父Spring ApplicationContext加载。
父ApplicationContext 被加载到使用 application.yml 的之前。
(2)配置区别
bootstrap.yml 和application.yml 都可以用来配置参数。
bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
application.yml 可以用来定义应用级别的。
Spring Cloud Config需要bus消息总线+消息队列来实现配置动态刷新,nacos自身即可刷新配置,极大简化的开发成本.