聲明:入門級文檔,更多內(nèi)容會持續(xù)更新,不足之處,望不吝指點(diǎn)
一步咪、啟動(dòng)Nacos配置中心
- Nacos的安裝與啟動(dòng)
大體可以參照服務(wù)發(fā)現(xiàn):Spring Cloud Alibaba Nacos一文來啟動(dòng),在此就不贅述了 - 中心配置的添加
- 點(diǎn)擊配置管理-配置列表
- 可以選擇導(dǎo)入配置來批量導(dǎo)入配置孤钦,也可以選擇右側(cè)的加號來添加一個(gè)配置文件
-
Data Id
就是配置文件的名字歧斟,包括配置文件的后綴名,比如nacos-client-provider.yaml
-
Group
就是配置文件要加入的組偏形,一個(gè)配置文件是通過組名和文件名共同來確定唯一性的 - 配置格式選擇對應(yīng)的配置格式
- 配置內(nèi)容就是配置的具體內(nèi)容静袖,務(wù)必按所選格式書寫
- 點(diǎn)擊發(fā)布
二、應(yīng)用中如何使用Nacos配置中心的配置
- 添加依賴
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 添加配置文件
bootstrap.yaml
spring:
application:
name: nacos-client-provider
cloud:
nacos:
# nacos config相關(guān)的配置
config:
# 配置中心地址俊扭,可以和服務(wù)中心的一樣队橙,也可以不一樣
server-addr: localhost:8848
# 命名空間
namespace: 0d12689e-cd5b-483b-a050-162398ee9482
# 配置所在組
group: nacos-client-provider-test
# 配置文件的后綴名,默認(rèn)是properties , 該項(xiàng)對Custom Data Id是不起作用的
file-extension: yaml
# 下方兩個(gè)配置都是設(shè)置配置文件名的(除了后綴)優(yōu)先級是 prefix > name > spring.application.name
# prefix: nacos-client-provider
# name: nacos-client-provider
# 字符格式
#encode: UTF-8
# nacos discovery相關(guān)的配置
discovery:
server-addr: localhost:8848
# 命名空間
namespace: 0d12689e-cd5b-483b-a050-162398ee9482
- 給需要注入配置的地方加上
@Value
注解
@Value("${cn.mtk.nacos-test.hello}")
private String hello;
- Nacos支持隨時(shí)發(fā)布新的配置萨惑,你可以在Nacos的控制臺中點(diǎn)擊編輯然后發(fā)布新的配置捐康,你的應(yīng)用會接收到發(fā)布的事件,并進(jìn)行配置的更新庸蔼。給需要?jiǎng)討B(tài)更新配置的地方加上
@RefreshScope
注解解总,這樣就可以在配置被更新時(shí),更新整個(gè)需要?jiǎng)討B(tài)配置的Bean
@RestController
@RequestMapping("/provider")
@RefreshScope
public class ProviderController {
@Value("${cn.mtk.nacos-test.hello}")
private String hello;
@GetMapping("/getHello")
public String getHello(){
return hello;
}
}
附:
- Nacos中額外的全局設(shè)定如何配置
如果我想給多個(gè)服務(wù)再多指定一個(gè)所有服務(wù)共享的配置
spring:
cloud:
nacos:
# nacos config相關(guān)的配置
config:
extension-configs:
- dataId: application.yaml
group: nacos-client-provider-test
refresh: true
參考文檔:
[1] spring cloud alibaba