成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Spring Cloud Alibaba基礎(chǔ)教程:Nacos配置的多文件加載與共享配置

Anchorer / 1368人閱讀

摘要:通過拆分這兩類配置內(nèi)容,希望可以做到配置的共享加載與統(tǒng)一管理。共享配置通過上面加載多個配置的實現(xiàn),實際上我們已經(jīng)可以實現(xiàn)不同應(yīng)用共享配置了。

前情回顧:

《Spring Cloud Alibaba基礎(chǔ)教程:使用Nacos實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)》

《Spring Cloud Alibaba基礎(chǔ)教程:支持的幾種服務(wù)消費方式》

《Spring Cloud Alibaba基礎(chǔ)教程:使用Nacos作為配置中心》

《Spring Cloud Alibaba基礎(chǔ)教程:Nacos配置的加載規(guī)則詳解》

《Spring Cloud Alibaba基礎(chǔ)教程:Nacos配置的多環(huán)境管理》

對于Nacos作為配置中心的使用,通過之前的幾篇博文,我們已經(jīng)介紹了如何在Nacos中創(chuàng)建配置內(nèi)容、Nacos配置內(nèi)容與Spring應(yīng)用配置之間的對應(yīng)關(guān)系以及實戰(zhàn)中多環(huán)境下的配置管理方案。

但是,我們實際應(yīng)用過程中還會經(jīng)常碰到這樣的問題:有時候我們會對應(yīng)用的配置根據(jù)具體作用做一些拆分,存儲在不同的配置文件中,除了歸類不同的配置之外,也可以便于共享配置給不同的應(yīng)用。對于這樣的需求,Nacos也可以很好的支持,下面就來具體介紹一下,當(dāng)使用Nacos時,我們?nèi)绾渭虞d多個配置,以及如何共享配置。

加載多個配置

通過之前的學(xué)習(xí),我們已經(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

默認(rèn)情況下,會加載Data ID=${spring.application.name}.properties,Group=DEFAULT_GROUP的配置。

假設(shè)現(xiàn)在有這樣的一個需求:我們想要對所有應(yīng)用的Actuator模塊以及日志輸出做統(tǒng)一的配置管理。所以,我們希望可以將Actuator模塊的配置放在獨立的配置文件actuator.properties文件中,而對于日志輸出的配置放在獨立的配置文件log.properties文件中。通過拆分這兩類配置內(nèi)容,希望可以做到配置的共享加載與統(tǒng)一管理。

這時候,我們只需要做以下兩步,就可以實現(xiàn)這個需求:

第一步:在Nacos中創(chuàng)建Data ID=actuator.properties,Group=DEFAULT_GROUPData ID=log.properties,Group=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、group,refresh;前兩個不做贅述,與Nacos中創(chuàng)建的配置相互對應(yīng),refresh參數(shù)控制這個配置文件中的內(nèi)容時候支持自動刷新,默認(rèn)情況下,只有默認(rèn)加載的配置才會自動刷新,對于這些擴展的配置加載內(nèi)容需要配置該設(shè)置時候才會實現(xiàn)自動刷新。

共享配置

通過上面加載多個配置的實現(xiàn),實際上我們已經(jīng)可以實現(xiàn)不同應(yīng)用共享配置了。但是Nacos中還提供了另外一個便捷的配置方式,比如下面的設(shè)置與上面使用的配置內(nèi)容是等價的:

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 Id在配置變化時,應(yīng)用中可以動態(tài)刷新,多個Data Id之間用逗號隔開。如果沒有明確配置,默認(rèn)情況下所有共享配置都不支持動態(tài)刷新

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

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

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

A: 通過spring.cloud.nacos.config.shared-dataids定義的共享配置

B: 通過spring.cloud.nacos.config.ext-config[n]定義的加載配置

C: 通過內(nèi)部規(guī)則(spring.cloud.nacos.config.prefix、spring.cloud.nacos.config.file-extensionspring.cloud.nacos.config.group這幾個參數(shù))拼接出來的配置

要弄清楚這幾個配置加載的順序,我們從日志中也可以很清晰的看到,我們可以做一個簡單的實驗:

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

根據(jù)上面的配置,應(yīng)用分別會去加載三類不同的配置文件,啟動應(yīng)用的時候,將會在日志中看到如下輸出:

2019-02-08 21:23:02.665  INFO 63804 --- [main] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: "log.properties", group: "DEFAULT_GROUP"
2019-02-08 21:23:02.671  INFO 63804 --- [main] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: "actuator.properties", group: "DEFAULT_GROUP"
2019-02-08 21:23:02.677  INFO 63804 --- [main] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: "alibaba-nacos-config-client.properties", group: "DEFAULT_GROUP"

后面加載的配置會覆蓋之前加載的配置,所以優(yōu)先級關(guān)系是:A < B < C

參考資料

Nacos官方文檔

代碼示例

本文示例讀者可以通過查看下面?zhèn)}庫的中的alibaba-nacos-config-client項目:

Github:https://github.com/dyc87112/SpringCloud-Learning/

Gitee:https://gitee.com/didispace/SpringCloud-Learning/

如果您對這些感興趣,歡迎star、follow、收藏、轉(zhuǎn)發(fā)給予支持!

以下專題教程也許您會有興趣

Spring Boot基礎(chǔ)教程

Spring Cloud基礎(chǔ)教程

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77421.html

相關(guān)文章

  • 公益:開放一臺Nacos服務(wù)端給各位Spring Cloud愛好者

    摘要:之前開放過一臺公益給大家,以方便大家在閱讀我博客中教程時候做實驗。由于目前在連載,所以對應(yīng)的也部署了一臺,并且也開放出來,給大家學(xué)習(xí)測試之用。 之前開放過一臺公益Eureka Server給大家,以方便大家在閱讀我博客中教程時候做實驗。由于目前在連載Spring Cloud Alibaba,所以對應(yīng)的也部署了一臺Nacos,并且也開放出來,給大家學(xué)習(xí)測試之用。 Nacos控制臺 ...

    jk_v1 評論0 收藏0
  • Spring Cloud Alibaba基礎(chǔ)教程Nacos的數(shù)據(jù)持久化

    摘要:在搭建集群之前,我們需要先修改的數(shù)據(jù)持久化配置為存儲。所以,如果啟動多個默認(rèn)配置下的節(jié)點,數(shù)據(jù)存儲是存在一致性問題的。為了解決這個問題,采用了集中式存儲的方式來支持集群化部署,目前只要支持的存儲。 前情回顧: 《Spring Cloud Alibaba基礎(chǔ)教程:使用Nacos實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)》 《Spring Cloud Alibaba基礎(chǔ)教程:支持的幾種服務(wù)消費方式》 《Spri...

    endiat 評論0 收藏0
  • Spring Cloud AlibabaSpring Boot、Spring Cloud之間不得不

    摘要:下表整理了目前的版本與版本的兼容關(guān)系還未所以,不論您是在讀我的基礎(chǔ)教程基礎(chǔ)教程還是正在連載的系列教程。 這篇博文是臨時增加出來的內(nèi)容,主要是由于最近連載《Spring Cloud Alibaba基礎(chǔ)教程》系列的時候,碰到讀者咨詢的大量問題中存在一個比較普遍的問題:版本的選擇。其實這類問題,在之前寫Spring Cloud基礎(chǔ)教程的時候,就已經(jīng)發(fā)過一篇《聊聊Spring Cloud版本的...

    feng409 評論0 收藏0
  • Spring Cloud Alibaba基礎(chǔ)教程:Sentinel Dashboard中修改規(guī)則同步

    摘要:下面通過這篇,詳細(xì)介紹當(dāng)使用作為配置中心之后,如何實現(xiàn)中修改規(guī)則同步到。關(guān)于下面改造的原理和分析可以見上一篇中修改規(guī)則同步到的頭兩節(jié)內(nèi)容,這里不重復(fù)介紹了。但是由于考慮到與的結(jié)合使用,略作修改。主要就是中存儲配置的和不要弄錯。 上一篇我們介紹了如何通過改造Sentinel Dashboard來實現(xiàn)修改規(guī)則之后自動同步到Apollo。下面通過這篇,詳細(xì)介紹當(dāng)使用Nacos作為配置中心之后...

    Rocko 評論0 收藏0
  • 說說我為什么看好Spring Cloud Alibaba

    摘要:最近對基礎(chǔ)教程系列的催更比較多,說一下最近的近況因為打算一起更新。再次,對于中國用戶來說,還有一個非常特殊的意義它將曾經(jīng)紅極一時的,以及阿里巴巴的強力消息中間件融入體系。 最近對《Spring Cloud Alibaba基礎(chǔ)教程》系列的催更比較多,說一下最近的近況:因為打算Spring Boot 2.x一起更新。所以一直在改博客Spring Boot專題頁和Git倉庫的組織。由于前端技...

    yhaolpz 評論0 收藏0

發(fā)表評論

0條評論

Anchorer

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<