Nacos Namespace/Group/DataID三者關(guān)系解讀
命名空間(Namespace)
用于進(jìn)行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的 Group 或 Data ID 的配置。
Namespace 的常用場(chǎng)景之一是不同環(huán)境的配置的區(qū)分隔離,例如開發(fā)測(cè)試環(huán)境和生產(chǎn)環(huán)境的資源(如配置、服務(wù))隔離等。
配置分組(Group)
Nacos 中的一組配置集,是組織配置的維度之一。
通過(guò)一個(gè)有意義的字符串(如 Buy 或 Trade )對(duì)配置集進(jìn)行分組,從而區(qū)分 Data ID 相同的配置集。
當(dāng)您在 Nacos 上創(chuàng)建一個(gè)配置時(shí),如果未填寫配置分組的名稱,則配置分組的名稱默認(rèn)采用 DEFAULT_GROUP 。
配置分組的常見(jiàn)場(chǎng)景:不同的應(yīng)用或組件使用了相同的配置類型,如 database_url 配置和 MQ_topic 配置。
配置集 ID(Data ID)
Nacos 中的某個(gè)配置集的 ID。配置集 ID 是組織劃分配置的維度之一。
Data ID 通常用于組織劃分系統(tǒng)的配置集。一個(gè)系統(tǒng)或者應(yīng)用可以包含多個(gè)配置集,每個(gè)配置集都可以被一個(gè)有意義的名稱標(biāo)識(shí)。
Data ID 通常采用類 Java 包(如 com.taobao.tc.refund.log.level)的命名規(guī)則保證全局唯一性。此命名規(guī)則非強(qiáng)制。
配置集:一組相關(guān)或者不相關(guān)的配置項(xiàng)的集合稱為配置集。
在系統(tǒng)中,一個(gè)配置文件通常就是一個(gè)配置集,包含了系統(tǒng)各個(gè)方面的配置。
例如,一個(gè)配置集可能包含了數(shù)據(jù)源、線程池、日志級(jí)別等配置項(xiàng)。
三者關(guān)系
這三者的關(guān)系類似于Java里面的package名和類名,最外層的Namespace是可以用于區(qū)分部署環(huán)境的,Group和DataID邏輯上區(qū)分兩個(gè)目標(biāo)對(duì)象。
默認(rèn)情況
Namespace=public,Group=DEFAULT_GROUP,默認(rèn)Cluster是DEFAULT
具體情況
Nacos默認(rèn)的命名空間是public,我們就可以利用Namespace來(lái)實(shí)現(xiàn)隔離,比如我們現(xiàn)在有三個(gè)環(huán)境:開發(fā)、測(cè)試、生產(chǎn)環(huán)境,我們就可以創(chuàng)建三個(gè)Namespace,不同的N amespace之間是隔離的。
Group本身就是分組的意思,它可以把不同的微服務(wù)劃分到同一個(gè)分組里面去。
剩下的就是具體微服務(wù),一個(gè)Service可以包含多個(gè)Cluster,Nacos默認(rèn)Cluster是DEFAULT,Cluster是對(duì)指定微服務(wù)的一個(gè)虛擬劃分。
比如說(shuō),將一個(gè)Service部署在北京和和杭州的機(jī)房中,北京機(jī)房的Service就可以起名為(BJ),杭州機(jī)房中的Service就可以起名為(HZ),這樣就可以盡量讓同一個(gè)機(jī)房的微服務(wù)互相調(diào)用,提升性能。
切換不同環(huán)境
1. DataID方案
指定spring.profile.active和配置文件的DataID來(lái)使不同環(huán)境下讀取不同的配置,配置規(guī)則:默認(rèn)空間+新建dev和test兩個(gè)DataId:
- 新建dev配置DataID(已經(jīng)創(chuàng)建完成)
- 新建test配置DataID
2. Group方案
新建配置的時(shí)候填入分組DEV_GROUP
同樣的方式在建立一個(gè)同名的dataId分組為TEST_GROUP
這里相當(dāng)于相同的目錄下不同的文件
- 項(xiàng)目配置bootstrap.properties
spring.application.name=nacos-config-client spring.cloud.nacos.discovery.server-addr=192.168.43.11:8848 # Nacos作為配置中心地址 spring.cloud.nacos.config.server-addr=192.168.43.11:8848 # 指定yaml格式的配置 spring.cloud.nacos.config.file-extension=properties # 配置要使用的nacos配置中心分組 spring.cloud.nacos.config.group=TEST_GROUP
- application.properties
# 激活使用profile spring.profiles.active=info
- application-info.properties
# nacos配置 server.port=3377
測(cè)試效果
3. 命名空間方案
新建命名空間
切換命名空間
- 修改配置文件bootstrap.properties實(shí)現(xiàn)切換
# 指定命名空間 dev #spring.cloud.nacos.config.namespace=401827ae-19b9-4fb4-a1fc-e55d57e6f6fe # 指定命名空間 test spring.cloud.nacos.config.namespace=5e79a451-9283-47cb-ac86-3bae58352240
添加分組和dataId(可以從default空間克?。?/p>
參考上面的方案
測(cè)試結(jié)果
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot利用EasyExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)
EasyExcel是一個(gè)基于Java的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的Excel處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成Excel的讀、寫等功能看,本文就將介紹如何利用EasyExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù),需要的朋友可以參考下2023-07-07SpringBoot返回結(jié)果統(tǒng)一處理實(shí)例詳解
這篇文章主要為大家介紹了SpringBoot返回結(jié)果統(tǒng)一處理實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12java使用鏈表來(lái)模擬棧的入棧出棧操作實(shí)例代碼
這篇文章主要介紹了java 使用鏈表來(lái)模擬棧的入棧出棧操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03springcloud?feign服務(wù)之間調(diào)用,date類型轉(zhuǎn)換錯(cuò)誤的問(wèn)題
這篇文章主要介紹了springcloud?feign服務(wù)之間調(diào)用,date類型轉(zhuǎn)換錯(cuò)誤的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03java JDBC系列教程之JDBC類的簡(jiǎn)析與JDBC的基礎(chǔ)操作
這篇文章主要介紹了java JDBC系列教程之JDBC類的簡(jiǎn)析與JDBC的基礎(chǔ)操作,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Java基于Socket的文件傳輸實(shí)現(xiàn)方法
這篇文章主要介紹了Java基于Socket的文件傳輸實(shí)現(xiàn)方法,結(jié)合實(shí)例分析了Java使用Socket實(shí)現(xiàn)文件傳輸?shù)慕⑦B接、發(fā)送與接收消息、文件傳輸?shù)认嚓P(guān)技巧,需要的朋友可以參考下2015-12-12Java設(shè)計(jì)模式之單例模式簡(jiǎn)單解析
這篇文章主要介紹了Java設(shè)計(jì)模式之單例模式簡(jiǎn)單解析,單例模式的優(yōu)點(diǎn)在于在內(nèi)存中某個(gè)類只有一個(gè)實(shí)例,減少了內(nèi)存的開銷,尤其是頻繁的創(chuàng)建和銷毀實(shí)例,避免對(duì)資源的多重暫用,需要的朋友可以參考下2023-12-12java狀態(tài)機(jī)方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解
這篇文章主要為大家介紹了java狀態(tài)機(jī)方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03