Spring Cloud Alibaba基礎教程:Nacos配置的加載規則詳解

前情回顧:html

上一篇,咱們學習瞭如何在Nacos中建立配置,以及如何使用Spring Cloud Alibaba的Nacos客戶端模塊來加載配置。在入門例子中,咱們只配置了Nacos的地址信息,沒有配置任何其餘與配置加載相關的其餘內容。因此,接下來準備分幾篇說說你們問的比較多的一些實際使用的問題或疑問。git

加載規則

《Spring Cloud Alibaba基礎教程:使用Nacos做爲配置中心》一文中,咱們的例子徹底採用了默認配置完成。因此,一塊兒來看看Spring Cloud Alibaba Nacos模塊默認狀況下是如何加載配置信息的。github

首先,回顧一下,咱們在入門例子中,Nacos中建立的配置內容是這樣的:spring

  • Data ID:alibaba-nacos-config-client.properties
  • Group:DEFAULT_GROUP

拆解一下,主要有三個元素,它們與具體應用的配置內容對應關係以下:app

  • Data ID中的alibaba-nacos-config-client:對應客戶端的配置spring.cloud.nacos.config.prefix,默認值爲${spring.application.name},即:服務名
  • Data ID中的properties:對應客戶端的配置spring.cloud.nacos.config.file-extension,默認值爲properties
  • Group的值DEFAULT_GROUP:對應客戶端的配置spring.cloud.nacos.config.group,默認值爲DEFAULT_GROUP

在採用默認值的應用要加載的配置規則就是:Data ID=${spring.application.name}.propertiesGroup=DEFAULT_GROUP學習

下面,咱們作一些假設例子,方便你們理解這些配置之間的關係:spa

例子一:若是咱們不想經過服務名來加載,那麼能夠增長以下配置,就會加載到Data ID=example.propertiesGroup=DEFAULT_GROUP的配置內容了:code

spring.cloud.nacos.config.prefix=example

例子二:若是咱們想要加載yaml格式的內容,而不是Properties格式的內容,那麼能夠經過以下配置,實現加載Data ID=example.yamlGroup=DEFAULT_GROUP的配置內容了:htm

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml

例子三:若是咱們對配置作了分組管理,那麼能夠經過以下配置,實現加載Data ID=example.yamlGroup=DEV_GROUP的配置內容了:blog

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP

深刻思考

上面,咱們具體介紹了在Nacos中添加的各類配置與Spring Cloud應用中客戶端配置的對照關係。對於spring.cloud.nacos.config.prefixspring.cloud.nacos.config.file-extension來講,沒有太多的花樣能夠去揣摩,大部分用戶默認配置就可使用,或者經過spring.cloud.nacos.config.file-extension修改下配置格式的後綴。

可是對於spring.cloud.nacos.config.group的配置來講,仍是能夠派一些特殊的做用,好比:用它來區分不一樣的產品組下各個應用的配置內容(解決可能應用名衝突的問題)、或者用它來區分不一樣用途的配置內容、再或者用它來區分不一樣環境的配置(Nacos下的配置緯度不少,咱們能夠經過不一樣的手段來實現多環境的配置,後面會專門寫一篇如何實現多環境的配置)等。

若是您對spring.cloud.nacos.config.group還有什麼其餘妙用,歡迎留言分享您的使用方案。

參考資料

代碼示例

本系列教程的代碼案例,均可以經過下面的倉庫查看:

若是您對這些感興趣,歡迎star、follow、收藏、轉發給予支持!

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

相關文章
相關標籤/搜索