上次講了《微服務架構之Nacos配置中心之配置MySQL資料庫》,本次講述Nacos 配置核心概念,原作者:哈嘍沃德先生,謝謝關注哈嘍沃德先生,
1、配置
?為什么需要配置?概念,
?
在系統開發程序中,開發者通常會將一些需要變更的引數、變數等從代碼中分離出來獨立管理,以獨立的組態檔的形式存在,目的是讓靜態的系統工件或者交付物(如 WAR,JAR 包等)更好地和實際的物理運行環境進行適配,配置管理一般包含在系統部署的程序中,由系統管理員或者運維人員完成,配置變更是調整系統運行時的行為的有效手段,
2、配置管理
?對配置的多維度管理,
?
系統配置的編輯、存盤、分發、變更管理、歷史版本管理、變更審計等所有與配置相關的活動,
3、配置項
?一個鍵值對 Key = Value,
?
一個具體的可配置的引數與其值域(一個鍵值對),通常以 param-key=param-value 的形式存在,例如我們常配置系統的日志輸出級別(logLevel=INFO|WARN|ERROR) 就是一個配置項,
4、配置集
?多個鍵值對,一般指一個組態檔,
?
一組相關或者不相關的配置項的集合稱為配置集(多個鍵值對/一個組態檔),在系統中,一個組態檔通常就是一個配置集,包含了系統各個方面的配置,例如,一個配置集可能包含了資料源、執行緒池、日志級別等配置項,
5、配置集 ID
?給這個組態檔起一個全域唯一的 ID,
?
Nacos 中的某個配置集的 ID,配置集 ID 是組織劃分配置的維度之一,Data ID 通常用于組織劃分系統的配置集,一個系統或者應用可以包含多個配置集,每個配置集都可以被一個有意義的名稱標識,Data ID 通常采用類 Java 包(如 com.taobao.tc.refund.log.level)的命名規則保證全域唯一性,此命名規則非強制,
6、配置分組
?多個組態檔放在一起,形成組,一般用于區分專案,例如,某學校多應用之間的區分,教師應用 TEACHER_GROUP,學生應用 STUDENT_GROUP,
?
Nacos 中的一組配置集,是組織配置的維度之一,通過一個有意義的字串(如 Buy 或 Trade )對配置集進行分組,從而區分 Data ID 相同的配置集,當您在 Nacos 上創建一個配置時,如果未填寫配置分組的名稱,則配置分組的名稱默認采用 DEFAULT_GROUP ,配置分組的常見場景:不同的應用或組件使用了相同的配置型別,如 database_url 配置和 MQ_topic 配置,
7、配置快照
?快取配置資訊,
?
Nacos 的客戶端 SDK 會在本地生成配置的快照,當客戶端無法連接到 Nacos Server 時,可以使用配置快照顯示系統的整體容災能力,配置快照類似于 Git 中的本地 commit,也類似于快取,會在適當的時機更新,但是并沒有快取過期(expiration)的概念,
8、命名空間
?區分環境,比如:dev、test、prod 等等,
?
用于進行租戶粒度的配置隔離,不同的命名空間下,可以存在相同的 Group 或 Data ID 的配置,Namespace 的常用場景之一是不同環境的配置的區分隔離,例如開發測驗環境和生產環境的資源(如配置、服務)隔離等,
獲取更多spring微服務springcloud等視頻教程,請點:微服務架構spring全家桶
9、最佳實踐
通常我們可以這樣定義 Namespace,Group,DataId:
Namespace:代表不同的「環境」,如:開發、測驗, 生產等;Group:代表某個「專案」,如:XX物流專案,XX教育專案;DataId:每個專案下往往有若干個「應用」,每個配置集(DataId)是一個應用的「主組態檔」

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117757.html
標籤:Java
下一篇:Java不會被淘汰的12個原因
