1 Nacos 服務(wù)(Server)
從 Nacos 官網(wǎng) 下載 nacos-server-$version.zip
包康聂,解壓到指定目錄。
Windows 中都毒,打開解壓目錄下的 \bin\startup.cmd 啟動服務(wù)评凝。
Nacos 服務(wù)占用內(nèi)存近 2G坯钦,對資源要求很高蟀苛。
啟動成功后益咬,Nacos 服務(wù)就運行起來了。在瀏覽器中輸入 http://127.0.0.1:8848/nacos/index.html帜平,就可以打開 Nacos 控制臺:
使用默認賬號密碼(nacos/nacos)幽告,就可以登陸控制臺:
2 Nacos 客戶端
在基于 SpringBoot 微服務(wù)工程中梅鹦,搭載 Nacos 客戶端,實現(xiàn)配置管理冗锁。
(1)添加依賴
<!--nacos config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${nacos-config.version}</version>
</dependency>
(2)bootstrap.properties 中配置 Nacos server 的地址和應(yīng)用名
spring:
application:
name: deniro-micro-service
cloud:
nacos:
config:
# nacos config center address
server-addr: 127.0.0.1:8848
group: productName.moduleName
# config format
file-extension: properties
這里配置的 spring.application.name齐唆,會作為 Nacos 配置管理 dataId 字段的一部分。dataId 的完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}
符號名 | 說明 |
---|---|
prefix | 默認為 spring.application.name 的值冻河,也可以通過配置項 spring.cloud.nacos.config.prefix來配置 |
spring.profile.active | 當前環(huán)境對應(yīng)的 profile箍邮。當 spring.profile.active 為空時,對應(yīng)的連接符 - 也將不存在芋绸,dataId 的拼接格式變成 |
file-exetension | 配置內(nèi)容的數(shù)據(jù)格式担敌,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置摔敛。目前只支持 properties 和 yaml 類型。 |
(3)配置項
在實際的 Spring Bean 類中全封,加入業(yè)務(wù)工程所需要配置項马昙。形如:
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${thirdIpAddress:127.0.0.1}")
private String thirdIpAddress;
}
首先在業(yè)務(wù)類上加入 @RefreshScope
,這樣當配置中心的配置值發(fā)生變化時刹悴,業(yè)務(wù)類所引用的值就會自動更新行楞。
接著通過 @Value
將外部的配置項值動態(tài)注入到該 Bean 中。通過冒號語法土匀,可以給配置項指定一個默認值子房。
3 發(fā)布配置
發(fā)布配置有兩種方式,一種是通過 HTTP 接口就轧;另一種是通過配置中心证杭。
3.1 HTTP 接口
使用 POST 方式請求以下地址:
這里的 dataId 命名規(guī)則為 spring.application.name+‘.properties’ ;group 就是 cloud.nacos.config.group; 最后一個 content 是實際的配置項妒御。
請求成功后解愤,就會返回 true。
3.2 配置中心
登錄配置中心后乎莉,找到剛才提交的配置(或者新建配置)送讲。
選擇 Properties 格式,然后加入配置內(nèi)容惋啃,保存即可哼鬓。
保存后,客戶端就會自動更新所對應(yīng)的配置項的值边灭。
這種方式的好處是可以同時加入多個配置項魄宏。