网站开发的背景与环境,临沂百度联系方式,来画软件动画制作教程视频,重庆建网站推广价格目录 Nacos配置中心数据模型Nacos配置文件加载Nacos配置 Nacos配置中心数据模型 Nacos 数据模型 Key 由三元组唯一确定#xff0c;三元组分别是Namespace、Group、DataId#xff0c;Namespace默认是公共命名空间#xff08;public#xff09;#xff0c;分组默认是 DEFAUL… 目录 Nacos配置中心数据模型Nacos配置文件加载Nacos配置 Nacos配置中心数据模型 Nacos 数据模型 Key 由三元组唯一确定三元组分别是Namespace、Group、DataIdNamespace默认是公共命名空间public分组默认是 DEFAULT_GROUP。
Namespace命名空间 用于进行租户粒度的配置隔离。不同的命名空间下可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离例如开发测试环境和生产环境的资源如配置、服务隔离等。
Group分组 Nacos 中的一组配置集通过一个有意义的字符串对配置集进行分组从而区分 Data ID 相同的配置集。您在 Nacos 上创建一个配置时如果未填写配置分组的名称则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景不同的应用或组件使用了相同的配置类型如 database_url 配置和 MQ_topic 配置。
DataId配置ID Nacos中的某个配置集合的ID一个系统或者应用可以包含多个配置集每个配置集都可以被一个有意义的名称标识。
nacos是根据这三个属性来确定一个配置文件
Nacos配置文件加载
在 Nacos 配置中心中默认情况下应用会加载以下几个配置文件按优先级从高到低
1、Data ID 为 ${spring.application.name}.${spring.cloud.nacos.config.file-extension} 的配置文件
如果使用了使用 Profile 进行多环境配置那么优先加载带环境dev/test/prod的配置文件
${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} 的优先级比 ${spring.application.name}.${spring.cloud.nacos.config.file-extension} 高如果两个配置文件有相同的配置那么会以带环境spring.profiles.active的配置文件为准
2、默认分组为 DEFAULT_GROUP 的全局配置文件 Data ID 为 application.${spring.cloud.nacos.config.file-extension}。这是一个全局的通用配置文件适用于所有应用。
例如如果 spring.cloud.nacos.config.file-extension 设置为 properties则会加载默认分组下的 application.properties 这个配置文件。
3、指定 Group 的全局配置文件 Data ID 为 application.${spring.cloud.nacos.config.file-extension}Group 可以自定义。这也是一个全局的通用配置文件适用于所有应用。
例如如果 spring.cloud.nacos.config.file-extension 设置为 propertiesGroup 设置为 common则会加载common分组下的application.properties 配置文件。
Nacos配置
spring.cloud.nacos.config 是 Spring Cloud Alibaba 中提供的一个配置管理模块用于从 Nacos 中心化配置中心获取应用配置信息里面可以配置nacos配置中心的各种信息。
下面是 spring.cloud.nacos.config 中常用的配置项及其作用前缀为spring.cloud.nacos.config
server-addr: Nacos 服务器地址列表可以配置多个地址。
namespace: 命名空间 ID用于区分不同环境和应用。
group: 配置分组默认为 DEFAULT_GROUP。
username 和 password: 访问 Nacos 服务器所需的用户名和密码可选。
file-extension: 配置文件格式后缀默认为 properties。
endpoint: Nacos 服务器的域名解析地址可选。
access-key 和 secret-key: 阿里云用户访问 Nacos 的 AccessKey 和 SecretKey可选。
context-path: Nacos 服务器访问路径前缀可选。
config-long-poll-timeout: 配置拉取长轮询超时时间单位为毫秒默认为 30000 毫秒。
refresh-enabled: 用于控制是否启用配置刷新功能默认为true下面介绍一下两个引入额外配置文件的属性
shared-configs 在 Nacos 配置中心中可以使用 shared-configs 配置项来实现共享配置。shared-configs 允许多个应用共享同一个配置文件这样可以避免重复的配置数据并方便统一管理和更新。
下面是 shared-configs 的配置示例
spring.cloud.nacos.config.shared-configs[0].data-idshared-config
spring.cloud.nacos.config.shared-configs[0].groupDEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].refreshtrue
spring.cloud.nacos.config.shared-configs[1].data-idshared-config2
spring.cloud.nacos.config.shared-configs[1].groupDEFAULT_GROUP配置文件从[0]开始递加
Shared-configs支持三个属性data-id、group默认为字符串DEFAULT_GROUP和refresh默认为true。
data-id 是共享配置的 IDgroup 是共享配置所属的分组默认为 DEFAULT_GROUPrefresh为是否刷新配置默认为true
extension-configs 在 Nacos 配置中心中可以使用 extension-configs 配置项来加载额外的配置文件。这样可以方便地将不同环境或者不同应用的配置文件进行分离
下面是 extension-configs 的配置示例
spring.cloud.nacos.config.extension-configs[0].data-idexample-dev.yml
spring.cloud.nacos.config.extension-configs[0].groupDEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[0].file-extensionyamlextension-configs支持的属性与Shared-configs一样都是data-id、group和refresh
在实际使用中shared-configs 和 extension-configs 可以一起使用以达到更好的管理和维护效果。例如可以将共享配置文件和环境相关的配置文件分别存放在不同的命名空间或者分组中并使用相应的配置项来引用这些配置。这样不同应用可以共享相同的配置同时又可以根据需要加载不同的环境配置。