Nacos的配置中心

Nacos的配置中心

我们废话不多说。

首先引入依赖:

<!--        nacos-config-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

然后在配置文件中进行配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 47.121.25.148:8848
      config:
        import-check:
          enabled: false
        server-addr: 47.121.25.148:8848
        file-extension: yaml
        enabled: true
        refresh-enabled: true
        group: DEFAULT_GROUP
  config:
    import:
#      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
      - optional:nacos:auth-service.yml

配置项说明
enabled: true是否启用 Nacos 配置中心功能。
server-addr: 127.0.0.1:8848指定 Nacos 的服务地址。
file-extension: yaml指定 Nacos 配置文件的后缀名,默认会拼接为 dataId = ${spring.application.name}.yaml
refresh-enabled: true是否启用 Nacos 的动态刷新功能(使 @RefreshScope 生效)。
group: DEFAULT_GROUP指定 Nacos 配置的分组名称。
import-check.enabled: false当使用 spring.config.import=nacos: 语法时,是否检查配置项是否存在。设为 false 表示不做校验。

咱们首先要文件名字要相同,如果不行, file-extension: yaml类型也改成相同。

在开启了 refresh-enabled: true 之后,如果你要动态刷新配置文件,需要加上 @RefreshScope 标签,哪个bean用到了 配置文件中的属性,就要加上这个标签。

我最开始以为是加在启动类上的,结果没用,后来才发现哪里用到了就加在哪里。

配置项用途常用于支持方式是否适合 Nacos
optional:nacos:xxx.yaml指定从 Nacos 加载配置文件普通微服务场景Spring Cloud Alibaba Nacos✅ 是
configtree:从目录中按文件加载配置项K8s Secret / ConfigMapSpring Boot 原生⛔ 不适合 Nacos
configserver:从 Spring Cloud Config Server 拉配置Git 配置中心Spring Cloud Config⛔ 不适合 Nacos

如果Nacos中的配置和后端的配置有重复的,应该哪一个配置生效呢?

默认情况下,Nacos 中的配置优先级高,会覆盖本地配置(application.yml)中的同名项。

对于数据隔离,也就是如果我们有多套开发环境,那nacos配置中心也得对应多套开发环境,这里我们就用到了 namespace 命名空间,每一个命名空间就对应一套开发环境,我们只需要在后端配置文件中,为每一个开发环境配置好命名空间即可。

同时,可能配置文件属于不同的分组怎么办?

  config:
    import:
#      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
#        在文件后面紧跟着 ?group=组名   即可
      - optional:nacos:auth-service.yml?group=DEFAULT_GROUP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值