【springcloudalibab】Nacos之服务配置中心【实战】

前言:

本篇博客主要是通过两方面进行分享nacos的配置中心:基础配置与分类配置,通过博客的分享提高自己技术水平的同时,也能帮助小伙子你^_~。


基础配置:

  • 创建module

【springcloudalibab】Nacos之服务配置中心【实战】_第1张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第2张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第3张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第4张图片

  • 修改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>com.zcw.springcloud2020508</artifactId>
        <groupId>com.zcw</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cloudalibaba-config-nacos-client3377</artifactId>

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <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>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

  • 创建YML
    bootstrap.yml:
server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #注册中心
      config:
        server-addr: localhost:8848 #配置中心
        file-extension: yaml #这里指定的文件格式需要和nacos上新建的配置文件后缀相同,否则读不到。

application.yml:

spring:
  profiles:
    #   active: dev # 开发环境
    #   active: test # 测试环境
    active: info # 开发环境

  • 创建启动类
package com.zcw.springcloud.alibaba;

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

/**
 * @ClassName : NacosConfigApplication3377
 * @Description :
 * @Author : Zhaocunwei
 * @Date: 2020-05-22 13:50
 */
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigApplication3377 {
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigApplication3377.class,args);
    }
}


  • 创建业务类
package com.zcw.springcloud.alibaba.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;

/**
 * @ClassName : ConfigClientController
 * @Description :
 * @Author : Zhaocunwei
 * @Date: 2020-05-22 14:28
 */
@RestController
@RefreshScope //支持Nacos的动态刷新功能
public class ConfigClientController {
    
    @Value("${config.info}")
    private String configInfo;
    @GetMapping("/config/info")
    public String getConfigInfo(){
        return configInfo;
    }
}


  • 在nacos中添加配置信息
    Nacos中的匹配规则:
    【springcloudalibab】Nacos之服务配置中心【实战】_第5张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第6张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第7张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第8张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第9张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第10张图片
    小总结
    【springcloudalibab】Nacos之服务配置中心【实战】_第11张图片

  • 测试
    获取配置中心的内容:
    【springcloudalibab】Nacos之服务配置中心【实战】_第12张图片

  • 自动刷新
    我们开始修改,我们配置中心的内容,再次访问,可以获取新修改的内容:
    在这里插入图片描述
    【springcloudalibab】Nacos之服务配置中心【实战】_第13张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第14张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第15张图片

分类配置:

图形管理界面:
【springcloudalibab】Nacos之服务配置中心【实战】_第16张图片
命名空间设计思想:
【springcloudalibab】Nacos之服务配置中心【实战】_第17张图片
Namespace+Group+Data ID 三者关系:
【springcloudalibab】Nacos之服务配置中心【实战】_第18张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第19张图片
在这里插入图片描述
【springcloudalibab】Nacos之服务配置中心【实战】_第20张图片
DataID加载配置方案
指定spring.profile.active和配置文件的DataID来使不同环境下读取不同的配置:
【springcloudalibab】Nacos之服务配置中心【实战】_第21张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第22张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第23张图片
默认空间+默认分组+新建dev和test两个DataID:
【springcloudalibab】Nacos之服务配置中心【实战】_第24张图片
通过spring.profile.active属性就能进行多环境下配置文件的读取:
【springcloudalibab】Nacos之服务配置中心【实战】_第25张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第26张图片
Group加载配置方案
1.通过Group实现环境区分
【springcloudalibab】Nacos之服务配置中心【实战】_第27张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第28张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第29张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第30张图片
2.在nacos图形界面控制台上面新建配置文件DataID
【springcloudalibab】Nacos之服务配置中心【实战】_第31张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第32张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第33张图片
3.bootstrap+application
【springcloudalibab】Nacos之服务配置中心【实战】_第34张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第35张图片

server:
  port: 3377
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # 注册中心
      config:
        server-addr: localhost:8848 # 配置中心
        file-extension: yaml # 这里指定的文件格式需要和nacos上新建的配置文件后缀相同,否则读不到
        group: TEST_GROUP
#  ${spring.application.name}-${spring.profile

【springcloudalibab】Nacos之服务配置中心【实战】_第36张图片

  • 测试
    【springcloudalibab】Nacos之服务配置中心【实战】_第37张图片
    修改分组
    【springcloudalibab】Nacos之服务配置中心【实战】_第38张图片
    Namespace加载配置方案

1.新建dev/test的Namespace
【springcloudalibab】Nacos之服务配置中心【实战】_第39张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第40张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第41张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第42张图片
2.回到服务管理-服务列表查看
【springcloudalibab】Nacos之服务配置中心【实战】_第43张图片
3.按照域名配置填写
【springcloudalibab】Nacos之服务配置中心【实战】_第44张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第45张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第46张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第47张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第48张图片
4.修改YML
【springcloudalibab】Nacos之服务配置中心【实战】_第49张图片
【springcloudalibab】Nacos之服务配置中心【实战】_第50张图片

  • 测试:
    【springcloudalibab】Nacos之服务配置中心【实战】_第51张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第52张图片
    修改配置文件–分组:
    【springcloudalibab】Nacos之服务配置中心【实战】_第53张图片
    【springcloudalibab】Nacos之服务配置中心【实战】_第54张图片

你可能感兴趣的:(Spring,#)