前言

Github:https://github.com/HealerJean

博客:http://blog.healerjean.com

一、简介

Spring Cloud Config 分为 Server 端和 Client 端。其中 Spring Cloud Config ServerSpring Cloud 为指定应用中所有服务提供集中式配置的一个服务,借助 Spring Cloud Config Server 可以实现集中管理所有应用的配置,避免重复配置。

二、架构

image-20240328154322046

image-20240328154524992

三、原理

1、手动刷新

因为 springcloud- config 的服务端第一次读取远程 git 服务器的配置之后是会缓存一份配置在本地的,即使远程 git 修改了配置,config 客户端也依然是读取缓存中的配置,而使用手动刷新可以强制刷新缓存,让 config 端读取最新配置文件.

调用 /bus/refresh接口

2、自动刷新

Git 本身没有事件通知机制所以需要依赖 mq 来通知各个客户端(而且也只是通知说有配置更新,还需要一次网络交互才能获取到新配置) 当更新配置之后 git 会通过 webhook 调用 /bus/refresh接口。 这是自动刷新配置的入口

image-20240328154835655

image-20240328155226872

ContactAuthor