Spring Cloud Configuration - 自动启用 Refresh Endpoint 和 Git 监控

Posted

技术标签:

【中文标题】Spring Cloud Configuration - 自动启用 Refresh Endpoint 和 Git 监控【英文标题】:Spring Cloud Configuration - auto-enable Refresh Endpoint & Git monitoring 【发布时间】:2017-01-13 03:18:48 【问题描述】:

问题

我从 Spring Config 开始学习 Spring Cloud。有两个基本问题是我必须让我进入学习过程的下一步(通过 Consul 继续进行服务发现)。

    如何自动启用 /refresh 端点以 POST 到? 有没有办法在 Git 中自动监控更新?

对于#1,我实现了自己的@RestController/@RequestMapping,但我所遵循的教程都没有提到这一点。我检查了我的 Maven 配置,它与示例提供的内容相匹配,但没有弹出。

我在这里找到了第二个问题的帖子: spring cloud auto refresh config server property。我只是想知道自 2015 年 11 月以来是否有任何更新。

这两件事似乎都非常方便,并且将与我的 Consul 学习直接交织在一起,因为我可以将配置更新自动推送给注册为服务的每个人。一旦我到达那里,我也可以重新启动,但那是稍后。

更新

我得到了#1 的答案。我在我的 Maven 模块中搞砸了我的依赖项配置。在对配置进行了三次检查后,发现这只是飞行员的错误。不过,仍在处理 #2 - 如果有人有任何更新,我们将不胜感激。

【问题讨论】:

英语不是我的第一语言.. 你的意思是当你说芳香的时候是自动的? :) (无需在 cmets 中回复,在问题中修复即可) 对于 2,我认为这会对您有所帮助 - cloud.spring.io/spring-cloud-static/spring-cloud-config/… @nurgasemetey - 你能把它作为答案发布,我会接受。这就像一个魅力 好的,我会做的,但你知道我不是自己做的,只是搜索了参考指南。看看黄丽萍的回答,如果一样,接受他的回答。 【参考方案1】:

对于 GIT 更新,请尝试阅读此文档 spring-cloud-config-push-notifications,并且不要忘记安装 ngrock。此外,如果您只需要在 git commit 上刷新,那么您甚至不需要 cloud-bus 项目,只需配置就足够了。希望这会有所帮助。

【讨论】:

【参考方案2】:

对于 #1,Spring 云配置引入了 @RefreshScope 注释,它将公开 /refresh 端点(通过 HTTP 或 JMX)

对于#2,在'/refresh'之后,spring cloud config会采用最新的git commit,对于config的改动,本质上有两种方式,1)拉取改动2)推送改动,spring cloud bus的方式是基于rabbitmq推送配置chagnes。

参考

Refresh Scope

【讨论】:

以上是关于Spring Cloud Configuration - 自动启用 Refresh Endpoint 和 Git 监控的主要内容,如果未能解决你的问题,请参考以下文章

问题 spring-cloud-config 和 spring-cloud-bus

spring cloud集成nacos

spring-cloud-config-server

Spring Cloud实战Spring Cloud GateWay服务网关

初识spring-boot异步编程

spring-cloud-config——Quick Start