天天看點

手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 

上篇介紹了Nacos的服務注冊中心的內建實戰,通過實戰來看,架構內建和服務調用都很簡單。在開發的過程中,主要重心還是在業務代碼。微服務之前像實作動态配置還是很難的,幾乎都是修改配置檔案,然後重新開機服務,這會對線上業務造成不一定程度的影響,動态配置管理就是來解決這個痛點的,那就讓我們一起來學習Nocas配置管理內建實戰。

實戰步驟

  • Nacos的實戰學習,都是依賴官網的說明。
  • 官網位址:https://nacos.io/zh-cn/docs/what-is-nacos.html
  • 內建實戰部分主要參考cloud部分:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
  • 建立一個module,命名cloud-nacos-config3377
  • 修改POM檔案,添加nacos-config配置管理jar包依賴
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
           
  • 修改YML檔案,添加配置中心server端配置參數,nacos要求有兩個配置檔案,application.yml和bootstrap.yml。application.yml配置環境資訊,bootstrap配置具體資訊。兩者的關系是bootstrap>application,互相補充。一般在application.yml中配置環境資訊,比如dev、test、prod,分别對應開發、測試、生産。
  • application配置檔案,配置開發環境
spring:
  profiles:
    active: dev #辨別開發環境
           
  •  bootstrap配置檔案,nacos官網明确指出,在boot中配置spring-application-name和nacos-server位址
server:
  port: 3377
spring:
  application:
    name: cloud-nacos-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848 #注冊中心位址
      config:
        server-addr: 127.0.0.1:8848 #配置中心位址
        file-extension: yaml #配置檔案類型
        group: DEV_GROUP #分組
        namespace: 78f8aa71-5ff3-4f67-b11c-a009ef0d879c #namespace的Id
           
  • 編寫啟動類,沒有什麼差別
@SpringBootApplication
@EnableDiscoveryClient
public class Application3377 {
    public static void main(String[] args) {
        SpringApplication.run(Application3377.class,args);
    }
}
           
  • 編寫業務類,進行動态配置測試。劃重點:@RefreshScope實作自動更新
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
    @Value("${config.useLocalCache:false}")
    private boolean useLocalCache;
    @Value("${config.info}")
    private String info;

    @GetMapping("/get")
    public String get() {
        String result = "useLocalCache: "+useLocalCache+"\tconfig.info: "+ info;
        System.out.println(result);
        return result;
    }
}
           
  • Nacos控制台,配置如下
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 
  • 測試結果,到此實戰內建結束
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 

Nacos控制台詳解 

  • 控制台官方手冊位址:https://nacos.io/zh-cn/docs/console-guide.html
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 
  • 配置管理立體結構圖,nacos的概念做了轉化,友善了解和記憶
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 
  • 配置管理詳解,Nacos支援Namespace和Group配置,nacos對應應用環境、group對應叢集環境、data_id是配置檔案名,支援的yaml、text、json、xml、html、properties
  • namespace命名空間介紹:預設是public,保留白間。在實際服務中如果沒有指定namespace,預設都是public。實際中用作環境的隔離
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 
  • group分組介紹:預設是DEFAULT_GROUP,實際用作叢集(服務分組)的隔離
手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 
  • DataID詳細說明,劃重點:實際開發中spring-profiles-active不能為空;檔案格式要嚴格按照nacos支援的六大類型,比如yaml,不要寫成yml,nacos系統不認

Data ID:資料格式是${prefix}-${spring-profiles.active}.${file-extension}

${prefix}:對應服務名稱,即:spring.application.name屬性的值

${spring-profiles.active}:對應開發環境,即:spring.profiles.active屬性的值

${file-extension}:對應配置檔案的格式類型,即:nacos支援的六大類型

關注公衆号,回複【cloud】,免費擷取Gitee源代碼位址

手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 

同時也歡迎大家添加個人微信【shishuai860505】,我拉大家進我的讀者交流群。

手把手學習springcloudalibaba:❤️‍Nacos配置中心內建實戰❤️‍實戰步驟Nacos控制台詳解 

繼續閱讀