Nacos 從開源到如今已經18個releases了,更新很快,社區也很活躍,光釘釘羣的人數那也是好多,每次點個查看所有成員的按鈕,個人釘釘就要卡死,也有可能我沒更新最新的版本。linux
前面寫了一段時間的Sentinel,最近仍是打算學習下Nacos,目前不用也不要緊,關鍵是先要體驗下,知道這個框架的優勢,對技術選型來講很重要。git
Github地址:github.com/alibaba/nac…github
記得Star下哦。。。spring
其實Nacos的官方文檔已經很詳細了,並且是中文版,對國內的開發來講簡直是福音。這其實就牽扯到另外一個問題,就是既然這麼詳細了,還有必要寫這些文章嗎?springboot
這個嘛主要是本身學習過程當中的積累,也許我在這個過程當中會遇到一些問題,也許這些問題對某些剛接觸的人來講有用,這就夠了。除了官方文檔以外其實還有不少大牛也寫了不少文章,我們應該多向這些樂於分享的人學習。bash
Nacos主要用於 服務發現和服務健康監測,動態配置服務,動態 DNS 服務等場景。架構
下圖是官方提供的,經過下圖能夠全面的瞭解Nacos。app
特性大圖:要從功能特性,非功能特性,全面介紹咱們要解的問題域的特性訴求 架構大圖:經過清晰架構,讓您快速進入 Nacos 世界 業務大圖:利用當前特性能夠支持的業務場景,及其最佳實踐 生態大圖:系統梳理 Nacos 和主流技術生態的關係 優點大圖:展現 Nacos 核心競爭力 戰略大圖:要從戰略到戰術層面講 Nacos 的宏觀優點框架
不少框架爲了讓使用者快速體驗,都會提供一個快速啓動包,簡單方便。spring-boot
咱們能夠在github.com/alibaba/nac…頁面下載你須要的版本包:
Windows上下載zip包就能夠了,linux上下載tar包。以Windows爲例,解壓以後進入bin目錄,直接運行startup.cmd腳本便可啓動Nacos服務。Linux/Unix/Mac上執行sh startup.sh -m standalone啓動服務,standalone表明着單機模式運行,非集羣模式。
默認的帳號密碼是 nacos/nacos,登錄以後能夠看到主頁面。
因爲是第一篇文章,我們先從配置這塊學起,首先體驗下配置在Spring Boot中如何集成,詳細的後面再一一進行介紹。
加入依賴:
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
複製代碼
注意:版本 0.2.x.RELEASE對應的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 對應的是 Spring Boot 1.x 版本。
經過下面的地址查看版本列表:
mvnrepository.com/artifact/co…
在Nacos後臺新建一個配置:
Data ID:Nacos 中的某個配置集的 ID。配置集 ID 是組織劃分配置的維度之一。Data ID 一般用於組織劃分系統的配置集。一個系統或者應用能夠包含多個配置集,每一個配置集均可以被一個有意義的名稱標識。Data ID 一般採用類 Java 包(如 com.taobao.tc.refund.log.level)的命名規則保證全局惟一性。此命名規則非強制。
在啓動類上指定Data ID:
@NacosPropertySource(dataId = "nacos-springboot", autoRefreshed = true)
@SpringBootApplication
public class NacosSpringBootApp {
public static void main(String[] args) {
SpringApplication.run(NacosSpringBootApp.class, args);
}
}
複製代碼
測試代碼:
@RestController
public class ConfigController {
@NacosValue(value="${name}", autoRefreshed=true)
private String name;
@GetMapping("/name")
public String getName() {
return this.name;
}
}
複製代碼
使用@NacosValue來注入配置,autoRefreshed默認爲false, 在後臺改了是不會刷新值的,須要設置成true才能夠刷新。
第一篇文章就到這裏,更多特性,咱們後面一一講解。