欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nacos配置的多文件加載與共享配置方式

 更新時(shí)間:2022年11月23日 08:59:47   作者:翟永超  
這篇文章主要介紹了Nacos配置的多文件加載與共享配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Nacos配置的多文件加載與共享配置

思考一個(gè)問(wèn)題,現(xiàn)實(shí)開(kāi)發(fā)中會(huì)遇到這樣一個(gè)場(chǎng)景,我們把應(yīng)用拆分成到多個(gè)配置文件中,那么Nacos怎么管理多個(gè)配置文件?

加載多個(gè)配置

我們已經(jīng)知道Spring應(yīng)用對(duì)Nacos中配置內(nèi)容的對(duì)應(yīng)關(guān)系是通過(guò)下面三個(gè)參數(shù)控制的:

  • spring.cloud.nacos.config.prefix
  • spring.cloud.nacos.config.file-extension
  • spring.cloud.nacos.config.group

默認(rèn)情況下,我們使用的方式:Data ID=${spring.application.name}.properties Group=DEFAULT_GROUP的配置。

例如:現(xiàn)在有這樣需求:我們想要對(duì)所有應(yīng)用的Actuator模塊以及日志輸出做統(tǒng)一的配置管理。

最簡(jiǎn)單的實(shí)現(xiàn)方式應(yīng)用相關(guān)配置Actuator.properties,日志log.properties 。我們通過(guò)拆分這兩類的配置,現(xiàn)在需要將其共享

第一步:

在Nacos中創(chuàng)建Data ID=actuator.properties,Group=DEFAULT_GROUPData ID=log.properties,Group=DEFAULT_GROUP的配置內(nèi)容。

配置文件

第二步:

在Spring Cloud應(yīng)用中通過(guò)使用spring.cloud.nacos.config.ext-config參數(shù)來(lái)配置要加載的這兩個(gè)配置內(nèi)容,比如:

spring.cloud.nacos.config.ext-config[0].data-id=actuator.properties
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.ext-config[1].data-id=log.properties
spring.cloud.nacos.config.ext-config[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[1].refresh=true

可以看到:

  • spring.cloud.nacos.config.ext-config : 置是一個(gè)數(shù)組List類型。每個(gè)配置中包含三個(gè)參數(shù):data-id、group,refresh
  • refresh : 參數(shù)控制這個(gè)配置文件中的內(nèi)容時(shí)候支持自動(dòng)刷新,默認(rèn)情況下,只有默認(rèn)加載的配置才會(huì)自動(dòng)刷新,對(duì)于這些擴(kuò)展的配置加載內(nèi)容需要配置該設(shè)置時(shí)候才會(huì)實(shí)現(xiàn)自動(dòng)刷新。

共享配置

通過(guò)上述的加載集合的方式實(shí)際上已經(jīng)可以做到共享配置文件了。Nacos中還提供了另外一個(gè)便捷的配置方式

spring.cloud.nacos.config.shared-dataids=actuator.properties,log.properties
spring.cloud.nacos.config.refreshable-dataids=actuator.properties,log.properties
  • spring.cloud.nacos.config.shared-dataids: 參數(shù)用來(lái)配置多個(gè)共享配置的Data Id,多個(gè)的時(shí)候用用逗號(hào)分隔
  • spring.cloud.nacos.config.refreshable-dataids : 參數(shù)用來(lái)定義哪些共享配置的Data IdData Id在配置變化時(shí),應(yīng)用中可以動(dòng)態(tài)刷新,多個(gè)``之間用逗號(hào)隔開(kāi)。如果沒(méi)有明確配置,默認(rèn)情況下所有共享配置都不支持動(dòng)態(tài)刷新

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

當(dāng)我們加載多個(gè)配置的時(shí)候,如果存在相同的key時(shí),我們需要深入了解配置加載的優(yōu)先級(jí)關(guān)系。

在使用Nacos配置的時(shí)候,主要有以下三類配置:

  • 通過(guò)spring.cloud.nacos.config.shared-dataids定義的共享配置
  • 通過(guò)spring.cloud.nacos.config.ext-config[n]定義的加載配置
  • 通過(guò)內(nèi)部規(guī)則(spring.cloud.nacos.config.prefix、spring.cloud.nacos.config.file-extension、spring.cloud.nacos.config.group這幾個(gè)參數(shù))拼接出來(lái)的配置

要弄清楚這幾個(gè)配置加載的順序,我們把這幾個(gè)配置加到應(yīng)用上,觀察日志

spring.cloud.nacos.config.ext-config[0].data-id=actuator.properties
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.shared-dataids=log.properties
spring.cloud.nacos.config.refreshable-dataids=log.properties

加載順序

我們通過(guò)日志可以看到加載順序:A < B < C

參考資料:Nacos官方文檔

無(wú)法加載nacos配置中心的配置

在bootstrap.properties文件中對(duì)于nacos的地址配的有問(wèn)題,由于idea的提示沒(méi)仔細(xì)看應(yīng)該配nacos的config地址,而不是discovery地址,雖然只有一點(diǎn)差距,但是檢查起來(lái)真難

spring.cloud.nacos.config.server-addr=

寫(xiě)成了

spring.cloud.nacos.discovery.server-addr=

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中switch的三種用法方式小結(jié)

    Java中switch的三種用法方式小結(jié)

    這篇文章主要介紹了Java中switch的三種用法方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringBoot3解決跨域請(qǐng)求的方案小結(jié)

    SpringBoot3解決跨域請(qǐng)求的方案小結(jié)

    解決跨域請(qǐng)求,主要有JSONP,iframe,window.name,CORS等方式,其中CORS方式是最常用的跨域?qū)崿F(xiàn)方式,而且是對(duì)各種請(qǐng)求方法、各種數(shù)據(jù)請(qǐng)求類型都是完美支持的,本文介紹了SpringBoot3解決跨域請(qǐng)求的方案小結(jié),需要的朋友可以參考下
    2024-07-07
  • springboot框架阿里開(kāi)源低代碼工具LowCodeEngine

    springboot框架阿里開(kāi)源低代碼工具LowCodeEngine

    這篇文章主要為大家介紹了springboot框架阿里開(kāi)源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • java對(duì)接第三方接口的3種常用方式

    java對(duì)接第三方接口的3種常用方式

    java語(yǔ)言中調(diào)用第三方接口,可以使用的方法有很多,下面這篇文章主要給大家介紹了關(guān)于java對(duì)接第三方接口的3種常用方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • Java多線程系列之JDK并發(fā)包舉例詳解

    Java多線程系列之JDK并發(fā)包舉例詳解

    Java并發(fā)包提供了許多用于多線程編程的類和接口,這篇文章主要給大家介紹了關(guān)于Java多線程系列之JDK并發(fā)包的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • springboot項(xiàng)目docker分層構(gòu)建的配置方式

    springboot項(xiàng)目docker分層構(gòu)建的配置方式

    在使用dockerfile構(gòu)建springboot項(xiàng)目時(shí),速度較慢,用時(shí)比較長(zhǎng),為了加快構(gòu)建docker鏡像的速度,采用分層構(gòu)建的方式,這篇文章主要介紹了springboot項(xiàng)目docker分層構(gòu)建,需要的朋友可以參考下
    2024-03-03
  • Java實(shí)現(xiàn)讀取項(xiàng)目中文件(.json或.properties)的方法詳解

    Java實(shí)現(xiàn)讀取項(xiàng)目中文件(.json或.properties)的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)讀取項(xiàng)目中文件的方法,例如.json或.properties,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04
  • 淺談web項(xiàng)目讀取classpath路徑下面的文件

    淺談web項(xiàng)目讀取classpath路徑下面的文件

    這篇文章主要介紹了淺談web項(xiàng)目讀取classpath路徑下面的文件,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot自定義start詳細(xì)圖文教程

    SpringBoot自定義start詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于SpringBoot自定義start的相關(guān)資料,主要講述如何自定義start,實(shí)現(xiàn)一些自定義類的自動(dòng)裝配,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 詳解Spring如何掃描自定義的注解

    詳解Spring如何掃描自定義的注解

    本文給大家詳細(xì)介紹了Spring如何掃描自定義的注解,在Spring中,可以使用注解來(lái)實(shí)現(xiàn)依賴注入、AOP等功能,同時(shí),Spring也支持自定義注解,使得開(kāi)發(fā)人員可以更靈活地使用注解,需要的朋友可以參考下
    2024-02-02

最新評(píng)論