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

下一篇:Spring Cloud Config Client

    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000018875259
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞