转载

Spring Cloud 参考文档(推送通知和Spring Cloud Bus)

推送通知和Spring Cloud Bus

许多源代码存储库提供程序(例如Github、Gitlab、Gitea、Gitee、Gogs或Bitbucket)通过webhook通知你存储库中的更改,你可以通过提供程序的用户界面将webhook配置为URL以及你感兴趣的一组事件。例如, Github 使用POST到webhook,其中包含一个JSON体,其中包含一个提交列表和一个header( X-Github-Event )设置为 push ,如果添加了对 spring-cloud-config-monitor 库的依赖并在Config Server中激活Spring Cloud Bus,则会启用 /monitor 端点。

激活webhook后,Config Server会针对它认为可能已更改的应用程序发送一个 RefreshRemoteApplicationEvent ,变更检测可以制定策略。但是,默认情况下,它会查找与应用程序名称匹配的文件中的更改(例如, foo.properties 的目标是 foo 应用程序,而 application.properties 则针对所有应用程序)。要覆盖该行为时使用的策略是 PropertyPathNotificationExtractor ,它接受请求headers和body作为参数,并返回已更改的文件路径列表。

默认配置的开箱即用的使用Github、Gitlab、Gitea、Gitee、Gogs或Bitbucket,除了来自Github,Gitlab,Gitee或Bitbucket的JSON通知,你可以通过使用 path={name} 模式中的form-encoded的body参数POST到 /monitor 来触发更改通知,这样做会广播到匹配 {name} 模式(可以包含通配符)的应用程序。

仅当在Config Server和客户端应用程序中激活 spring-cloud-bus 时,才会传输 RefreshRemoteApplicationEvent

默认配置还检测本地git存储库中的文件系统更改,在这种情况下,不使用webhook,但是,只要编辑配置文件,就会广播刷新。

上一篇:嵌入Config Server

原文  https://segmentfault.com/a/1190000018875259
正文到此结束
Loading...