nacos配置文件详解

一、nacos配置文件加载顺序

nacos中配置文件的加载顺序是优先加载group为“${spring.application.name}”的配置文件,其次加载“DEFAULT_GROUP”组的配置文件。同一group的同名配置项,优先级高的会覆盖优先级低的配置项。

举个例子,假设应用名为”demo”,那么nacos会先加载group为“demo”的配置文件,如果找不到任何配置项,就会加载“DEFAULT_GROUP”组的配置文件。

二、nacos配置文件存在哪里

nacos配置文件可以存在于nacos的存储中心(nacos server),也可以存储在本地磁盘中。可以通过nacos的客户端来获取nacos存储中心中的配置文件,也可以使用spring cloud config实现从本地磁盘中获取配置文件。

通过nacos客户端获取nacos存储中心中的配置文件的代码示例:

@Autowired
private ConfigService configService;

public String getConfig(String dataId, String group, long timeout) throws NacosException {
    return configService.getConfig(dataId, group, timeout);
}

三、nacos配置文件命名规则

nacos的配置文件名字主要由dataId和group两部分组成,一个group下可以有多个dataId,同一个dataId下也可以有多个配置项,但是配置项必须用key-value方式进行配置。一个示例配置文件的dataId和group规则为:demo-service.properties:

dataId: demo-service.properties
group: DEFAULT_GROUP

四、nacos配置文件名称

nacos支持多种配置文件类型,如properties,yaml,json,txt等,具体的文件后缀名由应用自行指定,并在nacos配置文件中声明即可。nacos也支持按照环境进行配置文件命名,如demo-dev.properties、demo-test.properties等,具体命名规则要与应用开发人员协商。

五、nacos配置文件加密

为了安全起见,我们可以对配置文件中的敏感信息进行加密。nacos的配置项支持加密,我们可以在配置文件中声明需要加密的key,然后将敏感信息加密并替换原本在配置文件中的明文信息。nacos提供了内置的加密/解密插件,默认采用AES方式进行加密。

声明配置文件需要加密的示例:

## 开启加密配置项
encrypt.enable=true

## 需要加密的字段
name=ENC(k0K3EgbeT7IBBAm8J+kn0g==)

六、nacos配置文件优先级

同一group下,配置项按照优先级高低来进行覆盖。优先级的定义是在配置项的value值后添加三个点和一个数字,数字越大,优先级越高。示例:

name=value...
name=value.....
name=value......

七、nacos配置文件不生效

在使用nacos配置文件的过程中,我们可能遇到配置文件修改了但是生效不了的问题。一般情况下,可以检查以下几个方面:

1、检查配置文件是否已经成功发布到nacos服务器上。

2、检查应用的nacos配置文件客户端是否正常运行,注意端口和ip的配置是否正确。

3、检查nacos存储配置文件时的编码格式是否与应用中的编码格式一致。

4、检查配置文件中的占位符是否正确,如果存在错误的占位符,可能会导致配置文件不生效。

5、检查应用中是否与nacos客户端冲突的配置项。

八、nacos配置文件注入对象

在使用nacos配置文件的过程中,我们还可以通过“@NacosValue”注解来注入对象,方便我们使用配置文件中的配置项。示例:

## 配置项demo.name
demo.name=hello

## 通过@NacosValue注解来注入对象
@Component
public class DemoComponent {
 
    @NacosValue(value = "${demo.name}", autoRefreshed = true)
    private String name;
 
    // getter
}

九、nacos配置文件后缀选取

我们可以自定义配置文件后缀名,方便应用在不同的环境中使用不同的配置文件。示例:

在application-dev.properties中声明配置文件后缀名:

spring.profiles.active=dev
 
##
## 下面这行是自定义nacos配置文件的后缀名 
##
spring.cloud.nacos.config.file-extension=properties

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/235850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 11:56
下一篇 2024-12-12 11:57

相关推荐

  • 金融阅读器提示配置文件无法识别

    在使用金融阅读器过程中,有时会遇到提示配置文件无法识别的情况。这种情况通常是由于配置文件中存在错误或不完整所导致的。本文将从多个方面对此问题进行详细的阐述,并提供相应解决方法。 一…

    编程 2025-04-28
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • C语言贪吃蛇详解

    一、数据结构和算法 C语言贪吃蛇主要运用了以下数据结构和算法: 1. 链表 typedef struct body { int x; int y; struct body *nex…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论