Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

简介: Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cloud Alibaba的Nacos客户端模块来加载配置。在入门例子中,我们只配置了Nacos的地址信息,没有配置任何其他与配置加载相关的其他内容。所以,接下来准备分几篇说说大家问的比较多的一些实际使用的问题或疑问。

加载规则

《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》一文中,我们的例子完全采用了默认配置完成。所以,一起来看看Spring Cloud Alibaba Nacos模块默认情况下是如何加载配置信息的。

首先,回顾一下,我们在入门例子中,Nacos中创建的配置内容是这样的:

  • Data ID:alibaba-nacos-config-client.properties
  • Group:DEFAULT_GROUP

拆解一下,主要有三个元素,它们与具体应用的配置内容对应关系如下:

  • Data ID中的alibaba-nacos-config-client:对应客户端的配置spring.cloud.nacos.config.prefix,默认值为${spring.application.name},即:服务名
  • Data ID中的properties:对应客户端的配置spring.cloud.nacos.config.file-extension,默认值为properties
  • Group的值DEFAULT_GROUP:对应客户端的配置spring.cloud.nacos.config.group,默认值为DEFAULT_GROUP

在采用默认值的应用要加载的配置规则就是:Data ID=${spring.application.name}.propertiesGroup=DEFAULT_GROUP

下面,我们做一些假设例子,方便大家理解这些配置之间的关系:

例子一:如果我们不想通过服务名来加载,那么可以增加如下配置,就会加载到Data ID=example.propertiesGroup=DEFAULT_GROUP的配置内容了:

spring.cloud.nacos.config.prefix=example

例子二:如果我们想要加载yaml格式的内容,而不是Properties格式的内容,那么可以通过如下配置,实现加载Data ID=example.yamlGroup=DEFAULT_GROUP的配置内容了:

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml

例子三:如果我们对配置做了分组管理,那么可以通过如下配置,实现加载Data ID=example.yamlGroup=DEV_GROUP的配置内容了

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP

深入思考

上面,我们具体介绍了在Nacos中添加的各种配置与Spring Cloud应用中客户端配置的对照关系。对于spring.cloud.nacos.config.prefixspring.cloud.nacos.config.file-extension来说,没有太多的花样可以去揣摩,大部分用户默认配置就可以使用,或者通过spring.cloud.nacos.config.file-extension修改下配置格式的后缀。

但是对于spring.cloud.nacos.config.group的配置来说,还是可以派一些特殊的作用,比如:用它来区分不同的产品组下各个应用的配置内容(解决可能应用名冲突的问题)、或者用它来区分不同用途的配置内容、再或者用它来区分不同环境的配置(Nacos下的配置纬度很多,我们可以通过不同的手段来实现多环境的配置,后面会专门写一篇如何实现多环境的配置)等。

如果您对spring.cloud.nacos.config.group还有什么其他妙用,欢迎留言分享您的使用方案。

参考资料

代码示例

本系列教程的代码案例,都可以通过下面的仓库查看:

如果您对这些感兴趣,欢迎star、follow、收藏、转发给予支持!

以下专题教程也许您会有兴趣

目录
相关文章
|
1天前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
|
3天前
|
Java 测试技术 API
Spring Boot 单元测试 0基础教程
Spring Boot 单元测试 0基础教程
12 0
|
3天前
|
Cloud Native Java Nacos
Spring Cloud Nacos:概念与实战应用
【4月更文挑战第28天】Spring Cloud Nacos 是一个基于 Spring Cloud 构建的服务发现和配置管理工具,适用于微服务架构。Nacos 提供了动态服务发现、服务配置、服务元数据及流量管理等功能,帮助开发者构建云原生应用。
21 0
|
3天前
|
Java 关系型数据库 MySQL
优质全套Spring全套教程三
优质全套Spring全套教程三
|
3天前
|
XML Java 数据格式
优质全套Spring全套教程二
优质全套Spring全套教程二
|
3天前
|
XML Java 数据格式
优质全套Spring全套教程一
优质全套Spring全套教程一
|
3天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
30 0
|
3天前
|
存储 前端开发 Java
第十一章 Spring Cloud Alibaba nacos配置中心
第十一章 Spring Cloud Alibaba nacos配置中心
29 0
|
3天前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
104 1
|
3天前
|
SpringCloudAlibaba 应用服务中间件 Nacos
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心(下)
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心
16 0

热门文章

最新文章