首页 > 技术文章 > SpringCloud(H版)学习---Config分布式配置中心

rmxd 2020-03-26 14:37 原文

一、概述

参考鄙人之前博客:SpringCloud全家桶学习之分布式配置中心----Config(七)

SpringCloud官网:https://spring.io/projects/spring-cloud-config

二、Config Server端

三、Config Client端

问题随之而来:修改Github配置文件时,ConfigServer可以拿到最新文件,而客户端则需要重新获取最新的代码,问题演示如下:

 四、Config Client动态刷新之手动版

1、pom添加依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
pom

2、bootstrap.yml新增配置

#暴露监控端点
management:
  endpoints:
    web:
      exposure:
        include: "*"
bootstrap.yml

3、添加注解@RefreshScope

@RestController
@RefreshScope
public class ConfigClientController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/configInfo")
    public String getConfigInfo(){
        return configInfo;
    }
}
View Code

4、curl命令请求刷新

curl -X POST "http://localhost:3355/actuator/refresh"

  手动刷新版测试完成~避免了客户端重启,但修改配置文件后需要发送请求刷新。但还是不够完美,可以进行广播,一次通知,处处生效,可参考:SpringCloud(H版)二阶段学习---Bus消息总线

 

  本工程代码,Github地址:https://github.com/Simple-Coder/cloud2020

推荐阅读