SpringCloud 中各微服务使用 springcloud-config 获取配置文件时,配置信息无法实时刷新

文章目录

    • 1、引入actuator监控
    • 2、修改 yml
    • 3、添加注解 `@RefreshScope`
    • 4、业务操作
    • 5、发送通知,即可生效
    • 6、思考

使用 springcloud-config 作为 服务配置 管理时, 当对 git 上的配置进行修改后, 各微服务客户端 配置无法 实时刷新,需要重启服务才能生效,解决方法如下。

1、引入actuator监控

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-actuatorartifactId>
dependency> 

2、修改 yml

management:
  endpoints:
    web:
      exposure:
        include: "*"

3、添加注解 @RefreshScope

@RefreshScope 业务类 Controller 修改

@RefreshScope
@RestController
public class XxxController {

}

4、业务操作

上面是固定配置。配置完毕后,当对 git上的配置进行修改后, 只需要 第5步,发送通知,即可生效

5、发送通知,即可生效

使用 post 方法,发送通知。格式如下:

curl -X POST "http://各微服务的IP:端口号/actuator/refresh"

示例如下:
SpringCloud 中各微服务使用 springcloud-config 获取配置文件时,配置信息无法实时刷新_第1张图片

6、思考

每个微服务都要执行一次post请求,手动刷新?
可否广播,一次通知,处处生效?
我们想大范围的自动刷新。

你可能感兴趣的:(#,spring,cloud,spring,cloud,微服务,config,服务配置,刷新)