nacos作為配置中心
阿新 • • 發佈:2021-10-03
1.從nacos獲取配置
1.引入依賴 <!--引入nacos client 依賴--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--引入配置中心依賴--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> 2.配置配置中心地址 spring: cloud: nacos: config: server-addr: localhost:8848 #配置中心地址 group: DEFAULT_GROUP #組別 name: application-dev #配置檔名 file-extension: yml #配置副檔名 3.在nacos中建立配置 4.編寫控制器測試配置讀取情況
2.讀取nacos裡配置檔案的兩種命名方式
DataId - 用來讀取遠端配置中心的中具體配置檔案其完整格式如下: - ${prefix}-${spring.profile.active}.${file-extension} a. prefix 預設為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。 b. spring.profile.active 即為當前環境對應的 profile,詳情可以參考 Spring Boot文件。 注意:當 spring.profile.active 為空時,對應的連線符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension} c. file-exetension 為配置內容的資料格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支援 properties 和 yaml 型別。 - ${filename}.${file-extension} a. spring.cloud.nacos.config.name=filename 此filename=prefix+profile.active b. file-exetension 為配置內容的資料格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支援 properties 和 yaml 型別
3.實現自動配置重新整理
- 預設情況下nacos已經實現了自動配置重新整理功能,如果需要重新整理配置直接在控制器中加入@RefreshScope註解即可
4.名稱空間
- namespace名稱空間是nacos針對於企業級開發設計用來針對於不同環境的區分,比如正在企業開發時有測試環境,生產環境,等其他環境, 因此為了保證不同環境配置實現隔離,提出了namespace的概念,預設在nacos中存在一個public名稱空間所有配置在沒有指定名稱空間時都在這個名稱空間中獲取配置, 在實際開發時可以針對於不能環境建立不同的namespace空間。預設空間不能刪除! - 專案中使用名稱空間 spring.cloud.nacos.config.namespace=namespace.id =的是namespace的id
5.配置分組
- 配置分組是對配置集進行分組,通過一個有意義的字串(如 Buy 或 Trade )來表示,不同的配置分組下可以有相同的配置集(Data ID)
當您在 Nacos 上建立一個配置時,如果未填寫配置分組的名稱,則配置分組的名稱預設採用 DEFAULT_GROUP 。配置分組的常見場景:可用於區分不同的專案或應用