1. 程式人生 > 其它 >Nacos 之服務配置中心

Nacos 之服務配置中心

一、Nacos 作為配置中心-基礎配置

1.建立Model

建立一個名為”cloudalibaba-config-nacos-client3377“的Model。

 

 

2.改POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd
"> <parent> <artifactId>springcloud-nacos</artifactId> <groupId>com.ckfuture.springcloud</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>cloudalibaba-config-nacos-client3377</artifactId> <dependencies> <!--nacos-config--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!--nacos-discovery--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--web+actuator--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> </project>

 

3.建YML

分別建立”application.yml“和”bootstrap.yml“兩個配置

application.yml

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

 

bootstrap.yml

# Nacos全域性配置
server:
  port: 3377
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos 服務註冊中心地址
      config:
        server
-addr: localhost:8848 #nacos 作為配置中心地址 file-extension: yaml #指定yaml格式的配置

 

4.主啟動類

package com.ckguture.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClientMain3377 {
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigClientMain3377.class,args);
    }
}

5.業務類

package com.ckguture.springcloud.controller;

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

@RestController
@RefreshScope //支援Nacos的動態重新整理功能
public class ConfigClientController {
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo(){
        return configInfo;
    }
}

6.在Nacos中新增配置資訊

Nacos配置管理dataId的完整格式:

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

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

spring.profile.active 即為當前環境對應的profile

file-extension 為配置內容的資料格式,目前支援 properties和yml型別。

最終公式:

${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}

根據公司得到配置dataId為:nacos-config-client-dev.yaml (注意 yaml不是yml)

在Nacos的配置列表中新增配置

 配置內容為:

config:
    info: nacos config center,version = 1

 

 

 

7.測試

啟動主啟動類

 

 瀏覽器訪問:http://localhost:3377/config/info

8.自帶動態重新整理

修改Nacos配置內容,介面訪問跟著重新整理。

 

 

 

 再次訪問: