上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cloud Ablibaba的Nacos客户端模块来加载配置。在入门例子中,我们之配置了Nocas的地址信息,没有配置任何其他与配置加载的其他内容。所以,接下来准备分几篇说说大家问的比较多的一些实际使用的问题或疑问。
加载规则
在《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》一文中,我们的例子完全采用了默认配置完成,所以,一起来看看Spring Cloud Alibaba Nacos模块默认情况下是如何加载默认配置信息的。
首先,回顾一下,我们的入门例子,Nacos创建的配置内容是这样的:
-
Data ID :nacos-config-clients.properties
-
Group :DEFAULT_GROUP
拆解一下,主要有三个因素,他们与具体应用的配置内容对应关系如下: -
Data ID中的 nacos-config-client:对欢迎客户端的配置:Spirng.cloud.nacos.config.prefix,默认值为:${spring.application.name},即:服务名
-
Data ID 中的 properties:对应客户端的配置 spring.cloud.nacos.file-extension,即默认值为properties
-
Group的值 DEFAULT_GROUP:对应客户端的配置 spring.cloud.nacos.config.group,默认值:DEAFULT_GROUP
在采用默认值的应用要加载的配置规则就是
Data ID=example.properties, Group=DEFAULT_GROUP
例子一:如果我们不想通过服务名来加载,那么可以增加如下配置,就会得到 Data ID=example.properties,Group=DEFAULT_GROUP的配置内容了:
//prefix 前缀
spring.cloud.nacos.config.prefix=example
例子二:如果我们想要加载yaml的内容,而不是Properties格式的内容,那么可以通过图下配置,实现加载:
Data Id=example.yaml的配置内容了
//extension 延生,扩大
spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml
例子三:如果我们对配置做了分组管理,那么可以通过如下配置,实现加载 Data ID=example.yaml,Group=DEV_GROUP的配置内容:
spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP
深入思考
上面,我们具体介绍了在Nacos中添加的各种配置与springcloud 应用中客户端配置的对照关系,对于spring.cloud.nacos.config.prefix和spring.cloud.nacos.config-file-extension来说,没有太多的花样去揣摩,大部分用户的默认配置就可以使用,或者通过spring.cloud.nacos.config.file-extension修改下配置格式的后缀。
但是对于spring.cloud.nacos.config.group的配置来说,还是可以派一些特殊的作用,比如用它来区分不同产品组下各个应用的配置内容(解决可能应用名冲突的问题),或者用它来区分不同用途的配置内容,在或者用它区分不同环境的配置。