nacos系列 (nacos整合springcloud)


nacos與springcloud集成

版本對應關系參考:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本說明

springcloud各版本區別:

常見版本號說明

  舉個瓜:2.0.3 RELEASE

  2:主版本號,當功能模塊有較大更新或者整體架構發生變化時,主版本號會更新

  0:次版本號。次版本表示只是局部的一些變動。

  2:修改版本號。一般是bug的修改或者是小的變動

  RELEASE:希臘字母版本號。此版本號用戶標注當前版本的軟件處於哪個開發階段

希臘字母版本號

  Base:設計階段。只有相應的設計沒有具體的功能實現。

  Alpha:軟件的初級版本。基本功能已經實現,但存在較多的bug。

  Bate:相對於Alpha已經有了很大的進步,消除了嚴重的BUG,但還存在一些潛在的BUG,還需要不斷測試。

  RELEASE:最終版本,沒有太大的問題。

SpringCloud的版本號

1)為什么springcloud版本用的是單詞而不是數字呢?

    設計的目的是為了更好的管理每個SpringCloud子項目的清單,避免自己的版本號與子項目的版本號混淆。

2)有什么規則么?

    (常用了英國倫敦地鐵站的名稱來命名)首字母越靠后表示版本號越大

3)關於版本發布說明?

    BUILD-XXX      開發版    開發團隊內部使用,不是很穩定

    GA          穩定版    相比於開發版,基本上可以使用了

    PRE(M1、M2)    里程碑版   主要是修復了一些BUG的版本,一個GA后通常有多個里程碑版

    RC          候選發布版  該階段的軟件類似於最終版的一個發行觀察期,基本只修復比較嚴重的BUG

    SR          正式發布版  ~~~~這個就沒啥好說啦

springcloud alibaba

1. 搭建環境

配置注冊和服務發現同時配置引入

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

    
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
2. 配置掃描

注意:

@NacosValue : 配置配置類上加掃描配置文件路徑采用獲取最新值

@Value + @RefreshScope : 這個是springcloud中獲取最新配置屬性值

以上兩個注解都可以設置默認值

bootstrap.properties配置

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=huhy
spring.cloud.nacos.config.file-extension=properties
#spring.cloud.nacos.config.file-extension=yaml

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}
  • prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。
  • spring.profiles.active 即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
  • file-exetension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 propertiesyaml 類型。
@RestController
@RefreshScope
public class NacosConfigController {

    @Value("${useLocalCache:false}")
    private boolean useLocalCache;

    @Value("${user.nickname}")
    private String nickname;

    @NacosValue(value = "${user.address:henan}",autoRefreshed = true)
    private String address;
    /**
     * http://localhost:8080/get
     */
    @RequestMapping("/get")
    public boolean get() {
        return useLocalCache;
    }

    @RequestMapping("/get2")
    public String get2() {
        return nickname  + address;
    }
}
3. 注冊服務

在集成springboot中介紹過,在cloud版本中,只需要使用@EnableDiscoveryClient注解就可以了

@SpringBootApplication
@EnableDiscoveryClient
public class ConfigControllerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigControllerApplication.class, args);
    }
}

注意: @EnableDiscoveryClient 注解必須引入 spring-cloud-starter-alibaba-nacos-discovery ,不引人代碼不會報錯,注冊服務不會成功


免責聲明!

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



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