Spring Cloud Alibaba Nacos(五):配置中心(下)

1、前言

在一个大的项目中,可能存在多个微服务工程,而这些微服务可能需要某些相同的配置,比如Redis的地址,此时在每个微服务的配置文件中都配置这个Redis地址也是可行的,但是比较麻烦,维护难度较大,也容易出错。此时,我们需要一个全局的配置文件,把公共的配置,比如Redis的地址保存在这个公共的配置文件中,所有微服务项目都来加载该全局配置文件。

2、第一种方式(扩展配置)

bootstrap.properties

spring.application.name=express
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.namespace=${spring.profiles.active}
spring.cloud.nacos.config.group=wms
# 注意 从0开始
spring.cloud.nacos.config.extension-configs[0].data-id=redis.properties==
# # 缺省默认 DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[0].group=WMS_GLOBAL_GROUP
# 是否动态刷新,缺省默认 false
spring.cloud.nacos.config.extension-configs[0].refresh=true

多个 Data Id 同时配置时,他的优先级关系是 spring.cloud.nacos.config.extension-configs[n].data-id 其中 n 的值越大,优先级越高。

spring.cloud.nacos.config.extension-configs[n].data-id 的值必须带文件扩展名,文件扩展名既可支持 properties,又可以支持 yaml/yml。 此时 spring.cloud.nacos.config.file-extension 的配置对自定义扩展配置的 Data Id 文件扩展名没有影响。

Nacos新建配置:
在这里插入图片描述

2、第二种方式(共享DataId)

bootstrap.properties

spring.application.name=express
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.namespace=${spring.profiles.active}
spring.cloud.nacos.config.group=wms
spring.cloud.nacos.config.shared-configs[0].data-id=redis.properties
# 缺省默认 DEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].group=WMS_GLOBAL_GROUP
# 是否动态刷新,缺省默认 false
spring.cloud.nacos.config.shared-configs[0].refresh=true

3、配置的优先级

Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。

  • A: 通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置
  • B: 通过 spring.cloud.nacos.config.extension-configs[n].data-id 的方式支持多个扩展 Data Id 的配置
  • C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置

当三种方式共同使用时,他们的一个优先级关系是:A < B < C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值