Nacos 微服務配置中心介紹

2021-09-24 12:41:07 字數 3270 閱讀 5676

三、nacos基礎

四、一些思考

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-zmcpjvtb-1585720730083)(

nacos是阿里開源的乙個微服務配置中心,其官方宣傳:

乙個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平台。
目前是github的乙個明星專案,高達6k+的star。有大量組織在現網使用nacos,詳見官方issue:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-cxdzg3ss-1585720730085)(

微服務背景下,配置管理呈現兩大特徵:分散、動態。這兩點都很易於理解: 微服務下是不可能乙個配置檔案管理多個服務,同時同乙個服務會分散在海量機器上。這會帶來程式配置管理的碎片化,也就是「分散」。同時微服務需要更靈活地更及時地獲取到配置,也就是「動態」。

所以傳統的靜態配置檔案\**寫死的管理方式無法滿足現在的要求。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-juf0yv24-1585720730086)(

所以我們的配置管理策略主要是需要這兩點

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-nxbrpmtv-1585720730087)(

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-xxjaadck-1585720730087)(

nacos使用namespace + group + dataid 來確定乙個配置的內容。

nacos支援三類介面:

簡單的demo如下:

});// 測試讓主線程不退出,因為訂閱配置是守護執行緒,主線程退出守護執行緒就會退出。 正式**中無需下面**

while

(true

)catch

(interruptedexception e)

}服務端和客戶端直接本質上還是通過 http 進行資料通訊的,之所以有「推」的感覺,是因為服務端主動將變更後的資料通過 http 的 response 物件提前寫入了。

詳見:將nacos的sdk與apache的configuration結合起來,盡量少地修改我們的業務**以實現nacos的接入。以下是乙個完整的例子:

string serveraddr =

"localhost"

; string dataid =

"data_id"

; string group =

"default_group"

; properties properties =

newproperties()

; properties.

put(

"serveraddr"

, serveraddr)

; configservice = nacosfactory.

createconfigservice

(properties)

; string content = configservice.

getconfig

(dataid, group,

5000);

// 載入檔案前設定分隔符失效(不使用任何分隔符).

config.

setdelimiterparsingdisabled

(true);

// 將字串轉換成propertiesconfiguration格式

config.

load

(new

bytearrayinputstream

(content.

getbytes()

)); configservice.

addlistener

(dataid, group,

newlistener()

catch

(configurationexception e)

}public executor getexecutor()

});}

catch

(configurationexception e)

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-pywzvg0g-1585720730088)(

詳見官方的issue,待深入研究

文章首發:

微服務實戰(四) 配置中心的使用 Nacos

在微服務架構中,每個微服務應用都有自己的應用外部配置,在以前大多是使用配置檔案或者資料庫的形式和應用一起部署,而在springcloud體系下,需要有乙個配置中心,專門管理各個微應用的配置資訊,並且配置發生更新後,所有微應用都能馬上讀取到最新的配置。解決了每個應用都要去手動維護配置的不便。上一章節中...

Nacos配置中心介紹及實踐

nacos配置中心 一 配置中心介紹 1 spring cloud config spring cloud config 為分布式系統的外部配置提供了服務端和客戶端的支援方案。在配置的服務端您可以在所有環境中為應用程式管理外部屬性的中心位置。客戶端和服務端概念上的spring environment...

穀粒商城12 微服務註冊中心 nacos

雙擊如下的檔案,進行nacos服務的啟動 啟動完成後,瀏覽器輸入 進入nacos的管理頁面.使用者名稱和密碼都是nacos nacos 要注意nacos集群所在的伺服器,一定要關閉防火牆,否則容易出現各種問題。在 中進行配置 1.在common模組中,匯入nacos的依賴 com.alibaba.c...