1、配置中心特点
方便维护,时效性,安全性。
只要更改了配置文件,微服务可以在极短的时间内更新配置并应用。
2、配置文件命名规则
2.1DataID
{spring.application.name}-{spring.profile.active}.{spring.cloud.nacos.config.file-extension}
如下图:
所以配置文件名称应该为:com.tulingmall.order-dev.yaml
2.2Group
一般可以根据不同环境来区分,比如master,test,dev。
3、配置中心文件读取规则
3.1需要读取的配置文件名称与服务名称相同
如果配置了从nacos的配置中心获取配置文件,那么一定是根据
{spring.application.name}-{spring.profile.active}.{spring.cloud.nacos.config.file-extension}
这个命名去读取的,如2.1中所示,他则会去配置中心读取名为:com.tulingmall.order-dev.yaml的配置文件中的信息。
3.2需要读取的配置文件名称与服务名称不同
3.3默认读取的文件扩展名
Nacos默认读取的文件扩展名是Properties
如果需要使用其他的,例如:yaml,则需要配置:
spring.cloud.nacos.config.file-extension: yaml
4、如何在服务中使用nacos配置中心
使用application.yml来控制使用的哪个配置文件,例如dev之类的。
使用bootstrap.yml来保存关于nacos的配置,比如地址,账号密码之类的。
5、配置中心更新频率
配置中心的配置文件更新后会马应用到程序中去,并且不用重启程序。
6、配置中心版本详解
当更新过配置文件后,可以在以下两个地方查看历史版本:
并且可以回滚版本。
原理:当更新了版本后,会将配置文件的MD5值更新然后存储到MySQL中,然后服务会定时拉取比对MD5值,如果MD5值不对,则会拉取最新的配置内容。
7、指定读取配置文件
如图所示,使用shared-configs或extension-configs[下标]的方式可以来读取公共的配置文件。
8、配置文件读取的优先级规则
# 配置文件的优先级(优先级大的会覆盖优先级小的, 并且会形成互补)
# profile> 默认配置文件>extension-configs(下标越大优先级就越大)>shared-configs(下标越大优先级就越大)
9、实例
目的
为一个服务名为com.tulingmall.order的服务,使用nacos配置中心上的group为dev和namespace为dev的yaml配置文件。
9.1创建bootstrap.yml
将所有关于nacos配置放到这个配置文件中。
此处使用spring.cloud.nacos.config.file-extension: yaml,即指定使用的配置文件格式为yaml。
spring.cloud.nacos.config.namespace:dev 指定命名空间为dev
spring.cloud.nacos.config.group: 指定group为dev。
9.2创建application.yml
这个配置文件决定使用具体哪个配置文件。此处为dev
9.3配置中心创建命名空间
9.4配置中心创建文件
首先,切换命名空间为dev,再创建文件:
此处设置group为dev。
此处的dataid即为配置文件的名称,需要按照5.1-5.3设置的来命名。
即: 服务名称-活跃的配置文件.配置文件格式。
即com.tulingmall.order-dev.yaml
10、使用注解获取配置中心的值
如图所示,必须要添加注解@RefreshScope,不然当配置中心的配置文件更新了以后,注解不会随之热更新。
注解获取的配置文件遵从第8步种的优先级规则。