Spring-Cloud-Nacos config配置中心

2023-11-27 13:39:21 浏览数 (1)

Nacos配置中心

概述

  1. Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。
  2. 使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

快速入门

客户端使用方式

  1. 在工程中添加依赖
代码语言:javascript复制
<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
  1. 编写bootstrap.yml配置文件
代码语言:javascript复制
spring:
  profiles:
    active: dev  #${spring.profile.active}

  application:
    name: consumer-user  #${prefix}

  cloud:
    nacos:
      config:
        server-addr: localhost:80
        file-extension: yaml  #${file-extension}
  1. 在Nacos管理中心添加配置 把application.yml的配置移动到nacos中

DataId格式为

代码语言:javascript复制
${prefix}-${spring.profile.active}.${file-extension}

禁用本地的配置文件

创建成功运行 控制台已经打印出了nacos的配置文件

动态刷新

nacos可以动态化添加配置,不需要重启项目就可以读取配置 示例:在nacos配置文件中添加 user

在工程中创建方法调用获取

代码语言:javascript复制
@RefreshScope
代码语言:javascript复制
 @Value("${user.name}")
    public String username;
    @RequestMapping("/getusername")
    public String getusername(){
        return username;
    }

重启项目

修改nacos配置文件,然后直接刷新浏览器

命名空间与分组

  1. namespace 命名空间

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置 Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 在没有明确指定 ${spring.cloud.nacos.config.namespace} 配置的情况下, 默认使用的是 Nacos 上 Public 这个namespace

示例: 新建命名空间

在这里可以看到命名空间已经创建完成

创建配置信息

在工程中引用此命名空间

2. 分组 和命名空间一样的操作 创建分组名称

在工程中配置就行

0 人点赞