SpringCloudAlibabaNacos配置中心使用ext-config,DataID,Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么

本篇內(nèi)容介紹了“Spring Cloud Alibaba Nacos配置中心使用ext-config,DataID, Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

專(zhuān)業(yè)從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),高端網(wǎng)站制作設(shè)計(jì),微信小程序開(kāi)發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5頁(yè)面制作+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專(zhuān)項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

在使用Spring Cloud配合Nacos Config作為配置中心來(lái)使用的時(shí)候,Nacos支持對(duì)多個(gè)環(huán)境的配置管理,通常通過(guò)命名空間來(lái)實(shí)現(xiàn),比如Spring Cloud Alibaba Nacos配置中心使用ext-config,DataID, Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么測(cè)試環(huán)境,預(yù)發(fā)布環(huán)境。而如果使用同一個(gè)配置中心有多個(gè)項(xiàng)目組或者團(tuán)隊(duì)或者不同的模塊管理的時(shí)候,通常使用Group來(lái)區(qū)分,Nacos Config相關(guān)的配置詳情,在官方文檔中都有過(guò)介紹,通過(guò)閱讀可以了解,https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Nacos-config,這里向大家分享一下,使用中遇到的一個(gè)問(wèn)題,或者說(shuō)是一點(diǎn)文檔中描述不太明確的地方,Nacos Config, 支持自定義 Group 的配置以及支持自定義擴(kuò)展的 Data Id 配置 ,其中Group默認(rèn)使用的是DEFAULT_GROUP, 我們可以從nacos的源碼 org.springframework.cloud.alibaba.nacos.NacosConfigProperties中看到,如果想支持對(duì)多個(gè)配置文件的使用,需要用到ext-config,spring.cloud.nacos.config.ext-config[n].data-id, spring.cloud.nacos.config.ext-config[n].group, spring.cloud.nacos.config.ext-config[n].refresh,  但是在使用的時(shí)候遇到了一個(gè)問(wèn)題 ,就是在ext-config 里配置了和應(yīng)用名相同的配置文件時(shí),則實(shí)際去獲取的不是ext-config的group而是使用的DEFAULT_GROUP來(lái)獲取的,如果你在DEFAULT_GROUP沒(méi)有配置文件,則什么都獲取不到,相當(dāng)于DEFAULT_GROUP覆蓋掉了自定義配置中配置的Group,例如:當(dāng)前服務(wù)的名稱(chēng)為  nacos-demo 既 spring.application.name=nacos-demo

Spring Cloud Alibaba Nacos配置中心使用ext-config,DataID, Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么

spring.cloud.nacos.config.ext-config[0].data-id=nacos-demo.properties(    ${spring.application.name}.properties  )

spring.cloud.nacos.config.ext-config[0].group=DEMO

spring.cloud.nacos.config.ext-config[0].refresh=true

那么Client在獲取配置的時(shí)候,默認(rèn)是獲取的 data-id為nacos-demo.properties  group為DEFAULT_GROUP的配置文件,而取不到DEMO的配置,這是為什么呢?  從nacos的源碼 NacosPropertySourceLocator 中可以看到Spring Cloud Alibaba Nacos配置中心使用ext-config,DataID, Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么

他的加載順序是默認(rèn)加載 SharedConfig共享配置,然后加載extConfig自定義配置,最后加載applicationConfig, 因此最后加載的會(huì)覆蓋掉之前的配置,因此當(dāng)你讀取應(yīng)用名同名的配置時(shí)會(huì)讀取不到,因?yàn)榕渲弥行睦锊](méi)有配置 Group為 DEFAULT_GROUP的nacos-demo.properties。 spring.cloud.nacos.config.group的優(yōu)先級(jí)會(huì)高于spring.cloud.nacos.config.ext-config[0].group的優(yōu)先級(jí)

因此配置的時(shí)候要留意,如果是和應(yīng)用名同名的配置文件,不要配置在 config.ext-config 中,直接配置在spring.cloud.nacos.config.group=DEMO,ext-config中配置應(yīng)用名以外的配置文件,Group也可以配置為其他自定義組

spring.cloud.nacos.config.ext-config[0].data-id=(非應(yīng)用名).properties

spring.cloud.nacos.config.ext-config[0].group=default

spring.cloud.nacos.config.ext-config[0].refresh=true,這樣就不會(huì)出現(xiàn)獲取不到配置文件的事情了。

配置的優(yōu)先級(jí)

Spring Cloud Alibaba Nacos Config 目前提供了三種配置能力從 Nacos 拉取相關(guān)的配置。

  • A: 通過(guò) spring.cloud.nacos.config.shared-dataids 支持多個(gè)共享 Data Id 的配置

  • B: 通過(guò) spring.cloud.nacos.config.ext-config[n].data-id 的方式支持多個(gè)擴(kuò)展 Data Id 的配置

  • C: 通過(guò)內(nèi)部相關(guān)規(guī)則(應(yīng)用名、應(yīng)用名+ Profile )自動(dòng)生成相關(guān)的 Data Id 配置

當(dāng)三種方式共同使用時(shí),他們的一個(gè)優(yōu)先級(jí)關(guān)系是:A < B < C

“Spring Cloud Alibaba Nacos配置中心使用ext-config,DataID, Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享標(biāo)題:SpringCloudAlibabaNacos配置中心使用ext-config,DataID,Group時(shí)無(wú)法獲取到對(duì)應(yīng)Group的配置的原因是什么
本文網(wǎng)址:http://muchs.cn/article10/ihcpdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作動(dòng)態(tài)網(wǎng)站、云服務(wù)器自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管