0


SpringCloud + Nacos配置文件加载顺序和优先级详解

文章目录

在微服务架构中,合理地管理和理解配置文件的加载顺序与优先级对于确保应用的稳定性和灵活性至关重要。特别是在使用

Spring Cloud Alibaba Nacos

作为配置中心的场景下,这一点显得尤为重要。本文将基于一个具体的

bootstrap.yml

配置示例,深入探讨这些概念,并介绍如何通过 Nacos 配置实现本地配置的优先级设置。

一、加载顺序与优先级

1. 示例配置

首先,我们看一下示例的

bootstrap.yml

配置:

spring:application:name: content-api
  cloud:nacos:server-addr: 192.168.101.65:8848discovery:namespace: dev
        group: xuecheng-plus-project
      config:namespace: dev
        group: xuecheng-plus-project
        file-extension: yaml
        refresh-enabled:trueextension-configs:-data-id: content-service-${spring.profiles.active}.yaml
            group: xuecheng-plus-project
            refresh:trueshared-configs:-data-id: swagger-${spring.profiles.active}.yaml
            group: xuecheng-plus-common
            refresh:true-data-id: logging-${spring.profiles.active}.yaml
            group: xuecheng-plus-common
            refresh:trueprofiles:active: dev

2. 配置文件分类

Spring Cloud Alibaba Nacos

环境中,我们主要遇到以下类型的配置文件:

  1. 本地配置文件:- bootstrap.yml / bootstrap.yaml- application.yml / application.yaml
  2. Nacos 配置中心的配置文件:- 共享配置文件 (shared-configs)- 扩展配置文件 (extension-configs)- 项目应用名配置文件 (${spring.application.name}.yaml / .properties)

3. 加载顺序

  1. **bootstrap.yml / bootstrap.yaml**:首先加载,用于配置应用的启动环境。
  2. Nacos 配置中心的配置文件: - 先加载 共享配置文件 (shared-configs)- 然后是 扩展配置文件 (extension-configs)- 最后是 项目应用名配置文件 (${spring.application.name}.yaml / .properties)
  3. **application.yml / application.yaml**:在 Nacos 配置加载之后。

4. 优先级

  1. 项目应用名配置文件:具有最高优先级。
  2. 扩展配置文件:次之,覆盖共享配置。
  3. 共享配置文件:优先级低于扩展配置。
  4. **本地 application.yml / application.yaml**:优先级低于所有从 Nacos 加载的配置。
  5. **本地 bootstrap.yml / bootstrap.yaml**:优先级最低。

二、本地配置优先的设置

Nacos

中,可以通过特定的配置来设置本地配置优先。这可以在

bootstrap.yml

application.yml

文件中设置:

spring:cloud:config:override-none:true

override-none

设置为

true

时,本地配置文件 (

application.yml

/

application.yaml

) 将具有最高的优先级,即使这些配置在 Nacos 中也有定义。这种设置适用于需要在不同环境中覆盖远程配置中心配置的场景。

结论

了解和正确应用

Spring Cloud Alibaba Nacos

中配置文件的加载顺序和优先级,对于确保微服务的正确运行至关重要。此外,通过配置

override-none

true

,可以灵活地实现本地配置优先的需求,进一步增强了配置管理的灵活性。这些特性使得 Spring Cloud Alibaba Nacos 成为管理微服务配置的强大工具。
在这里插入图片描述


本文转载自: https://blog.csdn.net/m0_51390969/article/details/135947989
版权归原作者 木子dn 所有, 如有侵权,请联系我们删除。

“SpringCloud + Nacos配置文件加载顺序和优先级详解”的评论:

还没有评论