Nacos配置中心使用(nacos 配置中心使用)

Nacos配置中心使用(nacos 配置中心使用)Nacos 提供用于存储配置和其他数据的 key value 存储 为分布式系统中的外部化配置提供服务器端和客户端支持 使用 Spring Cloud Alibaba Nacos Config 您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置 官方文档 https github com alibaba spring cloud alibaba wiki Nacos config 前面已经搭建好



Nacos 提供用于存储配置和其他数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

官方文档: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config

前面已经搭建好 Nacos Server服务了,下面使用 Nacos 做配置中心。

在app-user服务中使用Nacos做配置中心。

 
  

bootstrap配置文件,一般添加 nacos配置中心的相关信息。项目的信息还是放到 application配置文件中。

必须使用 bootstrap.properties或者 bootstrap.yaml配置文件来配置 Nacos Server 地址。

 
  

在 Nacos Spring Cloud 中,DataId 的完整格式如下:

 
  
  • prefix: 默认为 ,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profiles.active: 即为当前环境对应的 profile, 注意:当 为空时,对应的连接符 - 也将不存在, dataId 的拼接格式变成 {file-extension}
  • file-exetension: 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。

此时,application.yaml文件内容如下:

 
  

在 Nacos Server管理界面中,新建 DataId为 app-user 的配置列表。

在这里插入图片描述

这里在启动类中,获取配置信息。

 
  

启动服务,发现获取的是 app-user.properties,我们把 app-user.properties删除,立刻获取到了 app-user配置信息。

配置文件的优先级为:app-user.properties > app-user。两者都是 Properties格式。

在这里插入图片描述
然后,我们再把 app-user改为 yaml格式。发现获取不到 Nacos的配置信息了。

在 bootstrap配置文件中,需要我们显示的声明 dataid 文件扩展名为 yaml。

重启服务,发现获取又到了 app-user(yaml格式)配置信息。

在这里插入图片描述

  • 1)nacos会自动根据服务名拉取 DataId对应的配置文件。
    • 如果DataId与服务名相同,则这个配置文件称为默认配置文件,默认DataId可以不写后缀,其他DataId必须写上后缀。
    • 如果DataId跟服务名不一致 就需要手动创建DataId。
  • 2)Nacos客户端默认是Properties的文件扩展名 ,如果修改成为非Properties格式,则必须通过 spring.cloud.nacos.config.file-extension=yaml进行设置。
  • 3)一般我们约定使用一种格式,指定好file-extension=yaml。DataId的话可以不写或写上后缀(推荐)。
  • 4)DataId命名一般是服务名,通常使用.来拼接。

上面针对 spring.cloud.nacos.config.xxx配置,简单使用了 namespace和 file-extension。其他配置下面也使用一下。

启动app-user服务,使用 Spring原生的 @Value(“key”)注解就可以获取取 naocs配置中心的信息。

  • @Value注解:可以获取到配置中心的值,但是无法动态感知修改后的值。
  • :Nacos的注解,可以实现。
 
  

访问,然后修改动态获取值,ok。

在这里插入图片描述

spring-cloud-starter-alibaba-nacos-config 在加载配置的时候,
不仅仅加载了以 dataid为 {file-extension:properties} 为前缀的基础配置,
还加载了dataid为 {profile}.${file-extension:properties} 的基础配置。

在日常开发中,如果遇到多套环境下的不同配置,可以通过 Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

1)application.yaml配置文件如下:

 
  

2)nacos管理界面,创建DataId为的配置

在这里插入图片描述
3)重启app-user服务。发现获取了 app-user-dev.yaml的配置信息

在这里插入图片描述

Namespace 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。

在没有明确指定配置的情况下, 默认使用的是Nacos 上 Public 这个namespace。

如果需要使用自定义的命名空间,可以通过以下配置来实现:

spring.cloud.nacos.config.namespace=b4d0832b-a7b0-44c2-8ce5-1abe676a4736

Group是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。

在没有明确指定配置的情况下,默认是DEFAULT_GROUP 。如果需要自定义自己的 Group,可以通过以下配置来实现:

spring.cloud.nacos.config.group=DEVELOP_GROUP

Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。

Data ID 通常采用类 Java 包(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。

通过自定义扩展的 Data Id 配置,既可以解决多个应用间配置共享的问题,又可以支持一个应用有多个配置文件。

自定义 Data Id 的配置有两种方式:

  • spring.cloud.nacos.config.sharedConfigs:支持共享的 DataId。比如:不同工程的通用配置。
  • spring.cloud.nacos.config.extensionConfigs:支持扩展的 DataId。比如:一个应用多个 DataId 的配置
 
  

重启 app-user服务。创建 DataId为 app.service.common01.yaml配置。发现服务注册成功。

在这里插入图片描述

优先级从高到低:

  • {profile}.${file-extension:properties}
  • {file-extension:properties}
  • ${spring.application.name}
  • extensionConfigs:一个微服务的多个配置,比如:nacos,mybatis
  • sharedConfigs:多个微服务公共配置,比如:redis

profile > 带后缀配置文件 > 默认配置文件 > extension-configs(下标越大优先级就越大) >shared-configs(下标越大优先级就越大)

– 求知若饥,虚心若愚。

今天的文章 Nacos配置中心使用(nacos 配置中心使用)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2026-01-21 14:01
下一篇 2025-04-14 07:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/34440.html