天天看點

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

上一篇,我們學習了如何在Nacos中建立配置,以及如何使用Spring Cloud Alibaba的Nacos用戶端子產品來加載配置。在入門例子中,我們隻配置了Nacos的位址資訊,沒有配置任何其他與配置加載相關的其他内容。是以,接下來準備分幾篇說說大家問的比較多的一些實際使用的問題或疑問。

https://blog.didispace.com/spring-cloud-alibaba-nacos-config-1/#%E5%8A%A0%E8%BD%BD%E8%A7%84%E5%88%99 加載規則

一文中,我們的例子完全采用了預設配置完成。是以,一起來看看Spring Cloud Alibaba Nacos子產品預設情況下是如何加載配置資訊的。

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

  • Data ID

    :alibaba-nacos-config-client.properties
  • Group

    :DEFAULT_GROUP

拆解一下,主要有三個元素,它們與具體應用的配置内容對應關系如下:

  • Data ID中的

    alibaba-nacos-config-client

    :對應用戶端的配置

    spring.cloud.nacos.config.prefix

    ,預設值為

    ${spring.application.name}

    ,即:服務名
  • properties

    spring.cloud.nacos.config.file-extension

    properties

  • Group的值

    DEFAULT_GROUP

    spring.cloud.nacos.config.group

    DEFAULT_GROUP

在采用預設值的應用要加載的配置規則就是:

Data ID=${spring.application.name}.properties

Group=DEFAULT_GROUP

下面,我們做一些假設例子,友善大家了解這些配置之間的關系:

例子一:如果我們不想通過服務名來加載,那麼可以增加如下配置,就會加載到

Data ID=example.properties

Group=DEFAULT_GROUP

的配置内容了:

spring.cloud.nacos.config.prefix=example      

例子二:如果我們想要加載yaml格式的内容,而不是Properties格式的内容,那麼可以通過如下配置,實作加載

Data ID=example.yaml

Group=DEFAULT_GROUP

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

例子三:如果我們對配置做了分組管理,那麼可以通過如下配置,實作加載

Data ID=example.yaml

Group=DEV_GROUP

的配置内容了

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.prefix

spring.cloud.nacos.config.file-extension

來說,沒有太多的花樣可以去揣摩,大部分使用者預設配置就可以使用,或者通過

spring.cloud.nacos.config.file-extension

修改下配置格式的字尾。

但是對于

spring.cloud.nacos.config.group

的配置來說,還是可以派一些特殊的作用,比如:用它來區分不同的産品組下各個應用的配置内容(解決可能應用名沖突的問題)、或者用它來區分不同用途的配置内容、再或者用它來區分不同環境的配置(Nacos下的配置緯度很多,我們可以通過不同的手段來實作多環境的配置,後面會專門寫一篇如何實作多環境的配置)等。

如果您對

spring.cloud.nacos.config.group

還有什麼其他妙用,歡迎留言分享您的使用方案。

https://blog.didispace.com/spring-cloud-alibaba-nacos-config-1/#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99 參考資料

https://blog.didispace.com/spring-cloud-alibaba-nacos-config-1/#%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B 代碼示例

本系列教程的代碼案例,都可以通過下面的倉庫檢視:

如果您對這些感興趣,歡迎star、follow、收藏、轉發給予支援!

https://blog.didispace.com/spring-cloud-alibaba-nacos-config-1/#%E4%BB%A5%E4%B8%8B%E4%B8%93%E9%A2%98%E6%95%99%E7%A8%8B%E4%B9%9F%E8%AE%B8%E6%82%A8%E4%BC%9A%E6%9C%89%E5%85%B4%E8%B6%A3 以下專題教程也許您會有興趣