Nacos的统一配置管理

发布时间:2024年01月10日

一 项目添加nacos和bootstrap依赖

Spring Cloud Alibaba、Spring Boot,Spring Cloud 版本说明
具体版本应和项目中cloudalibaba以及cloud保持一致
springboot版本为

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.4.2</version>
    </parent>
        <!--nacos配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2021.1</version>
        </dependency>
        <!--bootstrap启动器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.1.1</version>
        </dependency>

二 nacos客户端配置

2.1 创建命名空间

命名空间主要用于区分不同项目或者隔离开发环境
在这里插入图片描述

2.2 创建配置

在这里插入图片描述

在这里插入图片描述

Data ID:

Data ID是配置项的唯一标识,它的命名是有一定规范的。我们在配置信息时,一定是先有了微服务客户端,根据客户端需求,才在配置中心配置的信息。

Data ID的命名规范是:

spring.application.name-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

spring.application.name :服务名称。

${spring.profiles.active}:是配置文件中配置的环境信息

${spring.cloud.nacos.config.file-extension}是微服务客户端配置文件中配置的file-extension信息。

? 作用是指定配置中心中配置信息的格式,一般选择yml格式的。

假设微服务客户端服务名叫iam-biz,开发环境为dev。file-extension扩展格式为yml,则Data ID命名为:iam-biz-dev.yml

Group
组的概念。同一个项目环境中更细粒度的区分配置项

配置格式
配置格式的勾选要与file-extension扩展模式的配置相对应。一般选择yml格式。

然后在配置栏中写配置信息即可

在这里插入图片描述

三、配置bootstrap.yml

将基础配置和nacos连接信息添加到bootstrap.yml中;

spring:
  profiles:
    active: dev # 环境 dev:开发环境|test:测试环境|prod:生产环境
    include: properties
  application:
    name: iam-biz  #服务名称
  main:
    allow-bean-definition-overriding: true
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.2.217:8848    #注册中心地址
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}   #配置中心地址
        file-extension: yml  #后缀名
        group: dev      #分组
        namespace: iam-lichunbo  #命名空间ID

在这里插入图片描述

注意的是一定是放下bootstrap.yml中而不是application.yml。如果配置信息放在application.yml中微服务客户端连接nacos配置中心,是发生在application.yml文件读取之前去拉取的,此时并不知道application.yml中配置的是什么信息,所以只能按默认配置去连接,因此就连接localhost地址去了。

四 不同环境配置切换

有开发环境、测试环境、生产环境。那么切换不同的环境配置该如何操作呢?

步骤一:nacos中添加开发、测试配置

在这里插入图片描述

步骤二:指定bootstrap.yml中spring.profiles.active参数值

spring.profiles.active=dev那么就会使用nacos中iam-biz-dev.yml的配置

spring.profiles.active=test那么就会使用nacos中iam-biz-test.yml的配置

active=dev那么就会使用nacos中iam-biz-dev.yml的配置

spring.profiles.active=test那么就会使用nacos中iam-biz-test.yml的配置

注意的是案例中Group用的都是dev,实际这个叫什么并不重要;我们只需要注意在bootstrap中配置的组名要和nacos一致

扩展链接

【Spring Cloud】深入理解 Nacos 的统一配置管理,配置热更新,多环境配置共享,集群搭建

文章来源:https://blog.csdn.net/weixin_43811057/article/details/135509090
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。