配置服务器如何更新配置?

时间:2019-10-30 15:41:27

标签: java spring spring-cloud spring-cloud-config

给出一个带有GitHub后端的spring cloud配置服务器。
启动时,它将克隆远程存储库并开始提供配置。

据此
https://cloud.spring.io/spring-cloud-config/1.4.x/single/spring-cloud-config.html#_push_notifications_and_spring_cloud_bus
可以设置一个GitHub webhook,如果配置服务器具有一个将通知推送到POST /monitor端点的GitHub Webhook spring-cloud-config-monitor依赖性。

进一步的文档描述了如果适当的设置到位,配置服务器将向所有客户端广播消息,但是我错过了配置服务器如何自我更新的部分?
收到Webhook消息后,它是否执行git pull -f

例如,是否可以通过实现任何类型的侦听器bean来调整此行为?
例如,这对于基于webhook消息有效负载的过滤可能很有用。

1 个答案:

答案 0 :(得分:0)

显然,似乎在每个请求配置服务器上都会进行检查,并在必要时将本地和远程git仓库与git pull -f进行同步。

此行为已在JGitEnvironmentRepository.java中定义,并且可以使用refreshRate属性从版本2开始进行调整:
https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.0.5.RELEASE/single/spring-cloud-config.html#_git_refresh_rate

另一方面,它具有在更新远程回购但尚未请求任何新配置的客户端服务时提前刷新配置的功能。
为此,它提供了POST /monitor端点,可以接受GitHub webhook通知。