0
点赞
收藏
分享

微信扫一扫

Spring Cloud 分布式配置中心之 Config Client

TiaNa_na 2022-02-18 阅读 68

1、基于 Config Server 将已有的模块改造成 Config Client

以改造 spring-cloud-product-service 为例进行演示,需要进行如下步骤:
1、添加 pom 依赖

<dependency>
  	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>

2、修改配置信息,只保留如下图所示部分
在这里插入图片描述

修改了配置信息后,需要在仓库中新建以spring-cloud-product-service-prd.properties命名的配置文件。
在这里插入图片描述
在仓库中添加一个配置项 spring.application.name.desc=9999 用于测试配置是否生效

2、启动 spring-cloud-product-service 模块

使用 Postman 可以正常访问接口,且可以动态获取配置信息,但是配置信息发生变化后,只有重启才能获取最新的配置信息。
在这里插入图片描述
基于修改仓库中的配置之后,必须重启应用之后才能获取到最新的配置信息的问题,Spring Cloud 提供了 SpringBootActuator 和 Spring Cloud Bus 来动态刷新配置。

3、SpringBootActuator 动态加载配置

1、引入 pom 配置

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

2、添加如下配置

# 通过 refresh 刷新配置
management.endpoints.web.exposure.include=refresh

3、指定刷新范围
在需要获取最新配置的类上添加 @RefreshScope注解
在这里插入图片描述
4、重新启动,修改配置
再次请求,不能获取到最新的配置,需要手动调用一个接口手动刷新配置,才能够获取到最新的配置信息。
Post 请求该接口:http://localhost:8081/actuator/refresh
在这里插入图片描述
5、再次请求,已获取到最新配置信息
在这里插入图片描述

举报

相关推荐

0 条评论