《Spring Cloud Config官方文档》之推送通知和Spring Cloud总线

9. 推送通知和Spring Cloud总线

许多源代码存储库提供者(例如Github,Gitlab或Bitbucket)会通过webhook通知你存储库中的变化。您可以通过提供商的用户界面将webhook配置为您感兴趣的URL和一组事件。例如, Github 将通过一个包含提交列表的JSON主体和一个等于“push”的头部“X-Github-Event”来POST webhook。如果您在spring-cloud-config-monitor库中添加了依赖项并在Config Server中激活了Spring Cloud Bus,则会启用“/ monitor”节点。

当webhook被激活时,配置服务器将发送一个 RefreshRemoteApplicationEvent针对它认为可能已经改变的应用程序。更改检测可以制定策略,但默认情况下它只是查找与应用程序名称匹配的文件中的更改(例如,“foo.properties”针对“foo”应用程序,“application.properties”针对所有应用程序) 。如果要覆盖该行为,则该策略PropertyPathNotificationExtractor 将接受请求标头和主体作为参数,并返回已更改的文件路径的列表。

使用Github,Gitlab或Bitbucket时,默认的配置是可以使用的。除了来自Github,Gitlab或Bitbucket的JSON通知之外,您还可以通过发布带有表单编码body参数path={name}的“/ monitor”来触发更改通知。这将传播到匹配“{name}”模式的应用程序(可以包含通配符)。

如果spring-cloud-bus是在配置服务器和客户端应用程序激活,则RefreshRemoteApplicationEvent将仅仅是用作传输。

默认的配置也检测本地git仓库中的文件系统变化(在这种情况下webhook没有被使用,但是一旦你编辑一个配置文件,刷新将被传播)。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/98275.html

(0)
上一篇 2021年8月20日 23:36
下一篇 2021年8月20日 23:36

相关推荐

发表回复

登录后才能评论