Spring Cloud Alibaba Nacos Config 實戰


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

一、安裝 Nacos

1、下載 Nacos

最新穩定版下載:https://github.com/alibaba/nacos/releases

2、啟動 Nacos

啟動 Nacos (單機模式)

sh startup.sh -m standalone

關閉 Nacos

sh shutdown.sh

二、配置 Nacos

1、打開 Nacos

默認地址:http://127.0.0.1:8848/nacos/#/login
默認賬號:賬號密碼相同,都為nacos

15712948300913941

2、添加配置

配置數據:

Data ID:    nacos-dev.properties
Group  :    DEFAULT_GROUP
配置格式:    Properties
配置內容:   useLocalCache=true

15712954000685392

Data ID 的格式說明:

${prefix}-${spring.profile.active}.${file-extension}

prefix:
默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix 來配置
spring.profile.active:
即為當前環境對應的 profile, 注意:當 spring.profile.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
file-exetension:
為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型

實例:

spring.application.name=nacos
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=properties

Data ID 為:nacos-dev.properties

三、使用 Nacos

pom.xml中添加nacos支持

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.9.0.RELEASE</version>
</dependency>

bootstrap.properties加入nacos參數

server.port=8080
spring.profiles.active=dev
spring.application.name=nacos
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties

spring.cloud.nacos.config.server-addr:為nacos的服務器地址:端口,80端口不可省略
spring.cloud.nacos.config.file-extension:為nacos的支持的文件類型,如:yaml和properties

四、調用 Nacos

@Value SpEL調用
@RefreshScope打開自動刷新

package com.ichochy.nacos.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
    @Value("${useLocalCache:false}")
    private boolean useLocalCache;

    @RequestMapping("get")
    public boolean getConfig(){
        System.out.println(useLocalCache);
        return useLocalCache;
    }
}


聯系方式:

郵箱:iChochy@qq.com
網站:https://www.ichochy.com
源文:https://www.ichochy.com/blog/2019/10/17/Spring-Cloud-Alibaba-Nacos-Config-實戰.html


免責聲明!

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



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