SpringCloud Alibaba系列(二) Nacos使用


願你生命中有夠多的雲翳,造就一個美好的黃昏 

 

歡迎關注公眾號【渣男小四】,一個喜歡技術更喜歡藝術的青年



一.環境准備

   1.64 bit OS,支持 Linux/Unix/Mac/Windows,推薦選用 Linux/Unix/Mac。

  2.64 bit JDK 1.8+

  3.Maven 3.2.x+


 

二.安裝

  1.源碼安裝

git clone https://github.com/alibaba/nacos.git
cd nacos/ mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

 

   啟動服務

   啟動命令(standalone代表着單機模式運行,非集群模式):

  sh startup.sh -m standalone

   如果您使用的是ubuntu系統,或者運行腳本報錯提示[[符號找不到,可嘗試如下運行:

  bash startup.sh -m standalone

  

   2.源碼安裝

  從GitHub下載好tar安裝包

  tar -xvf nacos-server-$version.tar.gz cd nacos/bin

  啟動同上

 

   3.Docker安裝

  查找鏡像
  docker search nacos   錄取鏡像   docker pull nacos
/nacos-server
  運行鏡像(單機版)
  
docker run -d -p 8848:8848 -e MODE=standalone -v /opt/nacos/init.d/
custom.properties:/home/nacos/init.d/custom.properties -v /opt/nacos/logs:/home/nacos/logs
--restart always --name nacos nacos/nacos-server

   

  安裝啟動成功后瀏覽器輸入http://ip:8848/nacos/ , 賬號密碼默認為nacos

 

   服務注冊

   1.pom文件

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
       <version>${latest.version}</version>  </dependency>

 

   2.yml文件

spring: application: name: dream-gateway cloud: nacos: discovery: server-addr: 127.0.0.1:8848

 

    3.主啟動類上加上注解

@EnableDiscoveryClient

    

    服務注冊到nacos成功

 


 

   Nacos Config(配置中心)

      Nacos 提供用於存儲配置和其他元數據的 key/value 存儲,為分布式系統中的外部化配置提供服務器端和客戶端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 應用的外部屬性配置。

   Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,客戶端和服務器上的概念與 Spring Environment 和 PropertySource 有着一致的抽象,在特殊的 bootstrap 階段,配置被加載到 Spring 環境中。當應用程序通過部署管道從開發到測試再到生產時,您可以管理這些環境之間的配置,並確保應用程序具有遷移時需要運行的所有內容。

 

  在nacos可視化界面配置

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

    prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

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

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

 

 


 

   代碼:

    pom.xml

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

 

   bootstrapp.yml

spring: application: name: dream-test cloud: nacos: config: file-extension: yaml #不能為yml,不然識別不出來 server-addr: 127.0.0.1:8848 discovery: server-addr:
127.0.0.1
:8848

 

  application.yml

spring:
  profiles:
    active: dev  #開發環境

 

  獲取配置中心key-value

 
          
@RefreshScope 注解動態刷新


@RestController @RefreshScope
public class NacosController { @Value("${user.name}") private String name; @Value("${user.age}") private int age; @GetMapping("/getProperties") public R nacosConfig(){ HashMap<String,Object> hashMap = new HashMap<>(); hashMap.put("name",name); hashMap.put("age",age); return R.success(hashMap); } }

  

  結果

 

 

 

 

 

 


免責聲明!

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



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