使用nacos作為配置中心統一管理配置


基礎環境

引入所需依賴包

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

創建一個 bootstrap.propertiesbootstrap.yaml 。其中指定項目名與配置中心服務器地址

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

最后需要再配置中心添加一個數據集(Data Id),通常是「應用名.properties」。新建完后就可以給“配置內容”中添加任何配置,可以通過@Value("${配置名}")獲取到配置。如果還需要動態刷新,可以給類加上 @RefreshScope

@RefreshScope
public class CouponController {
    @Value("${author.name}")
    private String name;
}

dataID

在 Nacos Config Starter 中,dataId 的拼接格式如下

${prefix} - ${spring.profiles.active} . ${file-extension}
  • prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

  • spring.profiles.active 即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔

    注意,當 active profile 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}

  • file-extension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension來配置。 目前只支持 properties 類型。

group

  • group 默認為 DEFAULT_GROUP,可以通過 spring.cloud.nacos.config.group 配置。

Nacos 作為配置中心的更多細節

命名空間

用於進行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的 Group 或 DataID 的配置。Namespace 的常用場景之一是不同環境的配置的區分隔離。例如開發測試環境和生產環境的資源(如配置、服務)隔離等。

默認的命名空間是 public(保留空間) :默認新增的所有配置都在 public 空間下。

例如有開發、測試、生產三個環境,此時需要將生產環境的配置切換到開發環境的配置,那么就可以使用命名空間快速切換不同的環境配置,需要在 bootstrap 配置中修改配置,配置如下

#命名空間ID
spring.cloud.nacos.config.namespace=24b7cf49-b115-4d1f-85a7-fdb44d9ec559

配置集

一組相關或者不相關的配置項的集合稱為配置集。在系統中,一個配置文件就是一個配置集,包含了系統的各個方面的配置。例如,一個配置集可能包含了數據源、線程池、日志級別等配置項。

配置集ID

類似配置文件名,在Nacos中叫Data ID

配置分組

默認所有的配置集都屬於:DEFAULT_GROUP

可以通過 bootstrap 配置文件中指定使用哪個配置分組

spring.cloud.nacos.config.group=DEFAULT_GROUP

每個微服務都創建自己的命名空間,使用配置分組區分環境


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM