Spring Cloud Config 配置中心使用说明(7) -- 服务器 配置变更通知

1 嵌入式配置服务器

配置服务器最好作为独立应用程序运行,但如果需要,可以将其嵌入到另一个应用程序中。只需使用@EnableConfigServer注释。在这种情况下可以使用的可选属性是spring.cloud.config.server.bootstrap,它是一个标志,表示服务器应该从自己的远程存储库配置自身。该标志默认关闭,因为它可能会延迟启动。但是当嵌入在另一个应用程序中时,与其他应用程序相同的方式初始化是有意义的。当spring.cloud.config.server.bootstrap设为true时,必须使用复合环境库

spring:
  application:
    name: configserver
  profiles:
    active: composite
  cloud:
    config:
      server:
        composite:
          - type: native
            search-locations: ${HOME}/Desktop/config
        bootstrap: true

如果使用bootstrap标志,配置服务器将需要在bootstrap.yml中配置其名称和存储库URI。

要更改服务器接口的地址,您可以(可选)设置spring.cloud.config.server.prefix,例如“/ config”,以提供带前缀的资源接口。前缀应该以“/”开始但不以“/”结尾。它应用于Config Server中的@RequestMappings(即Spring Boot的server.servletPath和server.contextPath前缀之下)。

如果您想直接从后端存储库(而不是从配置服务器)读取应用程序的配置,这基本上是一个没有接口的嵌入式配置服务器。如果不使用@EnableConfigServer注释(只设置spring.cloud.config.server.bootstrap=true),则可以完全关闭这些接口。

2 推送通知和Spring Cloud Bus

许多源代码存储库(例如Github,Gitlab或Bitbucket)可以通过webhook通知您存储库中的更改。您可以通过提供商的用户界面为webhook配置一组感兴趣的事件。例如, Github 将包含提交列表的JSON主体和名为“X-Github-Event”值为“push”的header发送到webhook。如果您添加依赖spring-cloud-config-monitor库并激活配置服务器中的Spring Cloud Bus,则启用“/ monitor”接口。

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

默认配置与Github、Gitlab、Gitea、Gitee、Gogs或Bitbucket配合使用。除了这些工具的JSON通知之外,您还可以通过使用表单参数(path={application}) POST到“/ monitor”来触发更改通知。这将广播到匹配“{application}”模式的应用程序(可以包含通配符)。

只有在配置服务器和客户端应用程序中激活spring-cloud-bus时才会传送RefreshRemoteApplicationEvent。

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

Spring Cloud Config 使用说明(1) – 快速开始
Spring Cloud Config 配置中心使用说明(2) – 服务器+git库
Spring Cloud Config 配置中心使用说明(3) – 服务器+文件存储
Spring Cloud Config 配置中心使用说明(4) – 服务器+数据库存储
Spring Cloud Config 配置中心使用说明(5) – 服务器健康与安全配置
Spring Cloud Config 配置中心使用说明(6) – 服务器 配置文件格式
Spring Cloud Config 配置中心使用说明(7) – 服务器 配置变更通知
Spring Cloud Config 配置中心使用说明(8) – 客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiegwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值