亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

加載多個配置

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

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

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

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

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

第一步:

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

配置文件

第二步:

在Spring Cloud應(yīng)用中通過使用spring.cloud.nacos.config.ext-config參數(shù)來配置要加載的這兩個配置內(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 : 置是一個數(shù)組List類型。每個配置中包含三個參數(shù):data-id、grouprefresh
  • refresh : 參數(shù)控制這個配置文件中的內(nèi)容時候支持自動刷新,默認情況下,只有默認加載的配置才會自動刷新,對于這些擴展的配置加載內(nèi)容需要配置該設(shè)置時候才會實現(xiàn)自動刷新。

共享配置

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

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ù)用來配置多個共享配置的Data Id,多個的時候用用逗號分隔
  • spring.cloud.nacos.config.refreshable-dataids : 參數(shù)用來定義哪些共享配置的Data IdData Id在配置變化時,應(yīng)用中可以動態(tài)刷新,多個``之間用逗號隔開。如果沒有明確配置,默認情況下所有共享配置都不支持動態(tài)刷新

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

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

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

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

要弄清楚這幾個配置加載的順序,我們把這幾個配置加到應(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

加載順序

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

參考資料:Nacos官方文檔

無法加載nacos配置中心的配置

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

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

寫成了

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

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

相關(guān)文章

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

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

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

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

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

    springboot框架阿里開源低代碼工具LowCodeEngine

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

    java對接第三方接口的3種常用方式

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

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

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

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

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

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

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

    淺談web項目讀取classpath路徑下面的文件

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

    SpringBoot自定義start詳細圖文教程

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

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

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

最新評論