1. 學習目的
nacos除了作爲服務註冊中心之外,還能用作配置中心,可以說滿足了日常的大部分需要。本次就是要學會如何使用nacos作爲配置中心。
2. 操作
要使用nacos作爲配置中心,需要首先引入nacos的相關依賴,下面是參考:
implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: '2021.1'
完成構建以後就可以去application.yaml文件中聲明配置中心的相關信息了,參考我的信息:
spring:
cloud:
nacos:
server-addr: 192.168.3.26:8848
discovery:
namespace: 8bde8faf-b4aa-4809-865e-7ca5cdfc5056
config:
server-addr: 192.168.3.26:8848
服務啓動的時候就會去這裏拉取配置。
nacos的好處是提供了一個Web端來支持我們添加和修改配置,如下圖:
這裏需要了解一下nacos配置中的dataId的標準格式,是這樣的:
${prefix}-${spring.profiles.active}.${file-extension}
- prefix是指application.name,在我的例子中是waiter;
- spring.profiles.active是當前環境對應的profile,這一項可以爲空;
- file-extension是配置的內容格式,一般就是yaml或者properties,本例中沒有寫,其實應該是yaml。
完成了配置之後,就可以開始着手寫代碼了:
@Service
@RefreshScope
public class WaiterService {
@Value("${store}")
private String store;
public String call(String name) {
return "Hello, I'm " + name + " from " + store + ", may I Help you?";
}
}
- 添加RefreshScope註解可以動態刷新配置,只要我們在nacos上修改了配置併發布,可以不用重啓服務就能拉取最新的配置。