概述
- Nacos 提供用於存儲配置和其他元數據的 key/value 存儲,為分布式系統中的外部化配置提供服務器端和客戶端支持。
- 使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 應用的外部屬性配置。
快速入門
客戶端使用方式
- 在工程中添加依賴

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 編寫bootstrap.yml配置文件

spring:
profiles:
active: dev #${spring.profile.active}
application:
name: consumer-user #${prefix}
cloud:
nacos:
config:
server-addr: localhost:80
file-extension: yaml #${file-extension}
- 在Nacos管理中心添加配置
把application.yml的配置移動到nacos中


DataId格式為
${prefix}-${spring.profile.active}.${file-extension}
禁用本地的配置文件


創建成功運行 控制台已經打印出了nacos的配置文件

動態刷新
nacos可以動態化添加配置,不需要重啟項目就可以讀取配置
示例:在nacos配置文件中添加 user

在工程中創建方法調用獲取


@RefreshScope
@Value("${user.name}")
public String username;
@RequestMapping("/getusername")
public String getusername(){
return username;
}
重啟項目

修改nacos配置文件,然后直接刷新瀏覽器


命名空間與分組
- namespace 命名空間
用於進行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的 Group 或 Data ID 的配置 Namespace 的常用場景之一是不同環境的配置的區分隔離,例如開發測試環境和生產環境的資源(如配置、服務)隔離等。 在沒有明確指定 ${spring.cloud.nacos.config.namespace} 配置的情況下, 默認使用的是 Nacos 上 Public 這個namespace
示例: 新建命名空間


在這里可以看到命名空間已經創建完成

創建配置信息

在工程中引用此命名空間

2. 分組
和命名空間一樣的操作
創建分組名稱

在工程中配置就行

