一、nacos 配置的基本理念
- namespace : 表示工作環(huán)境,如開發(fā)環(huán)境,生產(chǎn)環(huán)境,測試環(huán)境,預(yù)發(fā)布環(huán)境等
- group: 表示應(yīng)用集群,每個集群內(nèi)部包含若干個微服務(wù),如:產(chǎn)品訂購集群,售后服務(wù)集群等。
- 主配置: 是由 "prefix + profile + file-extension " 組成的名稱,其結(jié)合 namespace 和 group 構(gòu)成一個針對某個微服務(wù)的專用配置。
- 擴展配置: 是使用
extension-configs:配置的列表信息,表示對主配置的擴展 - 共享配置:是使用
shared-configs:配置的列表信息,表示對某一個 “工作環(huán)境” 中的所有的“應(yīng)用集群” 提供的共享配置。
二、在nacos中進行配置如下圖:

image.png
三、相應(yīng)的配置信息
bootstrap.yaml:
spring:
application:
name: boot-test
cloud:
nacos:
config:
server-addr: localhost:8848
group: E_SHOP
# namespace 相當(dāng)于配置"工作環(huán)境",此處的設(shè)定表示隱含了"擴展和共享"的namespace
namespace: dev
# ${prefix-spring}.${profiles.active}.${file-extension} 構(gòu)成了"主配置文件名稱"
prefix: ${spring.application.name}
file-extension: properties
#擴展配置:相當(dāng)于是對主配置的補充,所以一般情況下是在同一個group中
extension-configs:
- dataId: shop-spec #沒有file-extension的配置
group: E_SHOP
# 共享配置:相當(dāng)于讓同一個"工作環(huán)境"中的所有"微服務(wù)應(yīng)用集群"共用的配置信息,所以一般情況下group是默認(rèn)的
shared-configs:
- dataId: commons
group: DEFAULT_GROUP
pom.xml
注: 并不需要引入 nacos 發(fā)現(xiàn)中心的客戶端
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
<version>2.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.9.RELEASE</version>
</dependency>
</dependencies>