現在微服務架構越來越火,微服務架構中比較重要的一項就是配置中心,
Nacos是阿里巴巴的一個開源項目,它的其中一個功能就是可以作為配置中心,實現配置的動態變更、歷史版本對比、配置回滾等功能。
更多的描述細節請查看官網:https://nacos.io/zh-cn/。
本篇博客主要講解以下內容:
- Nacos環境安裝(Windows&Linux)
- Spring Boot項目接入Nacos配置中心
- 初識Nacos控制台
1. Nacos環境安裝(Windows)
下載地址:https://github.com/alibaba/nacos/releases。
下載官方推薦的穩定版本1.1.4:
下載完成后將其解壓到你需要的目錄,我這里解壓到了D:\Tools\nacos,解壓完成后目錄如下圖所示:
打開bin文件夾,雙擊運行startup.cmd即可啟動Nacos服務端。
啟動時會看到下圖所示的界面:
啟動成功后,會發現根目錄下自動創建了2個文件夾,如下圖所示:
bin文件夾下自動創建了2個文件夾和1個文件,如下圖所示:
如果需要停止Nacos服務端,有以下2種方式可以選擇:
-
將剛剛運行時打開的cmd窗口關閉
-
雙擊運行bin文件夾下的shutdown.cmd
2. Nacos環境安裝(Linux)
將上面下載的zip壓縮包上傳到Linux服務器,我這里上傳到了我的阿里雲服務器的/usr/local
目錄下:
然后執行如下命令進行解壓:
cd /usr/local
unzip nacos-server-1.1.4.zip
然后執行如下命令啟動Nacos服務端,如下所示:
cd nacos/bin
sh startup.sh -m standalone
如果需要停止Nacos服務端,可以執行如下命令:
sh shutdown.sh
3. Spring Boot項目接入Nacos配置中心
首先,需要在pom.xml文件中引入以下依賴:
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
然后在application.yml
中添加Nacos Server的地址:
nacos:
config:
server-addr: 127.0.0.1:8848
如果你使用的是application.properties
配置文件,按如下格式添加:
nacos.config.server-addr=127.0.0.1:8848
然后在啟動類上添加@NacosPropertySource
注解,dataId
先使用示例的example,autoRefreshed
設置為ture,開啟自動刷新:
然后新建控制器ConfigController,並使用@NacosValue注解設置屬性值,並開啟自動刷新:
package com.zwwhnly.springbootaction.controller;
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("config")
public class ConfigController {
@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
private boolean useLocalCache;
@RequestMapping(value = "/get", method = RequestMethod.GET)
public boolean get() {
return useLocalCache;
}
}
運行項目,訪問地址:http://localhost:8080/config/get,此時返回false,如下圖所示:
打開cmd窗口,執行如下命令,將useLocalCache的值設置為true:
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example&group=DEFAULT_GROUP&content=useLocalCache=true"
再次訪問地址:http://localhost:8080/config/get,此時返回true,如下圖所示:
不用重啟應用程序,配置就動態變更了,是不是很方便呢。
4. 初識Nacos控制台
Nacos Server啟動后,可以通過地址:http://localhost:8848/nacos/index.html,訪問它的控制台。
默認會跳轉到以下登錄頁面,默認的賬號和密碼為:nacos nacos。
登錄成功后,可以在配置管理--配置列表界面,看到我們使用的dataId,也可以查看該dataId的配置詳情:
如果想要訪問阿里雲服務器上部署的Nacos控制台,需要在ECS服務器的安全組規則里添加如下配置,不然訪問不了: