配置文件的读取方式

nacos 配置中心通过 namespace、dataId 和 group 来唯一确定一条配置。(地址默认locahost:8848)

 Namespace:即命名空间。默认的命名空间为 public,我们可以在 Nacos 控制台中新建命名空间;

 dataId:即配置文件名称

 Group : 即 配 置 分 组 , 默 认 为 DEFAULT_GROUP , 可 以 通 过spring.cloud.nacos.config.group 配置。

其中:dataId 是最关键的配置字段:格式如下:

  • ${prefix} - ${spring.profiles.active} . ${file-extension}

说明:

prefix 默 认 为 spring.application.name 的 值 , 也 可 以 通 过 配 置 项spring.cloud.nacos.config.prefix 来配置;

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

这就是上面我们为什么能获得到配置的原因了。
注意:在写 dataId 的时候一定要添加文件类型后缀
Eg: nacos-config-dev.yml

配置文件划分

在这里插入图片描述
Nacos 配置中心的 namespace、dataId 和 group 可以方便灵活地划分配置。比如,我们现在有一个项目需要开发,项目名称为 bjpowernode,项目开发人员分为两个组:GROUP_A 和GROUP_B,项目分为三个环境:开发环境 dev、测试环境 test 和生产环境 prod。

  • powernode-> GRUOR_A-> dev

在 Nacos 中新建一个 powernode 的命名空间

在这里插入图片描述
点击新添加一个命名空间
在这里插入图片描述
填写信息后确认
在这里插入图片描述
他给我们生成了一个 id,要记住这个 id:5510ef39-ca9a-4f5d-87ba-7fb2afbf7035

在 Nacos 中新建一个配置文件 config-client-dev.yml

注意先选择 powernode 的命名空间,然后在选择添加配置文件
在这里插入图片描述
填写信息
在这里插入图片描述
点击完成
在这里插入图片描述

修改 config-client-a 项目的配置文件

server:

port: 8080

spring:

application:

name: config-client-a

cloud:

nacos:

config:

server-addr: localhost:8848 # server地址

namespace: 5510ef39-ca9a-4f5d-87ba-7fb2afbf7035 # 命名空间 注意使用 id

group: GROUP_A # 组别

prefix: config-client # 配置文件前缀,如果不写 默认使用${spring.application.name}的值

file-extension: yml # 后缀 文件格式

profiles:
active: dev # spring 的环境配置

重启 nacos-config-client 项目测试

访问: http://localhost:8080/heroInfo
在这里插入图片描述

获取多配置文件

除了通过上面的方式指定一个唯一配置外,我们还可以同时获取多个配置文件的内容。提供这个功能 可以再次封装和抽象配置文件管理

在 Nacos 中新建两个配置文件

在 powernode 命名空间,继续点击添加两个配置文件
在这里插入图片描述

添加一个配置文件 config-a.yml

在这里插入图片描述

再添加一个配置文件 config-b.yml

在这里插入图片描述
修改 config-client-a 项目的配置文件

cloud:

nacos:

config:

server-addr: localhost:8848

namespace: 5510ef39-ca9a-4f5d-87ba-7fb2afbf7035 # 命名空间 注意使用 id

extension-configs: # 配置多个配置文件 数组形式

	- data-id: config-a.yml # 配置 id,必须要加文件后缀

	group: GROUP_A # 组别

	refresh: true # 是否支持刷新

	- data-id: config-b.yml

	group: GROUP_B

	refresh: false

说明:

 spring.cloud.nacos.config.extension-configs[n].dataId , 指 定 多 个 配 置 的dataId,必须包含文件格式,支持 properties、yaml 或 yml;

 spring.cloud.nacos.config.extension-configs[n].group,指定分组;

 spring.cloud.nacos.config.extension-configs[n].refresh,是否支持刷新。上面的配置中,我们分别从 DEFAULT_GROUP 中获取了 config-a.yml 和 config-b.yml 配置内容,并且 config-a.yml 支持刷新,config-b.yml 不支持刷新。
注意:
没有 namespace 的配置,言外之意就是 Nacos 目前还不支持多个配置指定不同的命名空间。

共享配置文件

想把某些共有的数据抽离出来 ,放入共享配置文件中,如redis、mybatis数据源之类的…
直接修改bootstrap.yml文件即可
在这里插入图片描述

两端的配置文件写什么内容

本地的 bootstrap.yml(应用名称,配置文件中心(注册中心地址),读取的配置文件名称信息)

远端的配置文件(端口,数据源,redis,mq,mybatis,Swagger…) 为了方便去动态刷新和修改

Spring Cloud Alibaba Nacos Config 常用的配置

在这里插入图片描述

GitHub 加速计划 / na / nacos
123
24
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:4 个月前 )
762303b9 * [ISSUE #12970] Fix NamingMetadataManager.removeInstanceMetadata() error fix #12970 * Update NamingMetadataManagerTest.java 4 天前
05561813 * fix type search on mysql model * 灰度模型迁移程序并发&迁移不落历史表 * Config migrate executor times * 1.Config migrate executor times 2. history comparation optimize * 1.Config migrate executor times 2. history comparation optimize * checkstyle 4 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐