【问题标题】:PCF config server does not refresh propertiesPCF 配置服务器不刷新属性
【发布时间】:2021-09-12 18:53:30
【问题描述】:

我正在使用 PCF 提供的配置服务器实例,该实例由基于 GIT 的存储库支持到服务器属性。我的应用程序连接到此配置服务器服务实例并公开“刷新”端点。一切正常,除了当我在 git 中更改属性并在更新属性后立即将 http post 发送到我的应用程序(/actuator/refresh)时,我没有得到更新的道具名称作为响应。如果我等待几秒钟,然后再次发送该 http 帖子以刷新属性,那么我将取回正在更新的属性的名称。

为什么我必须等待几秒钟(通常是 1-2 分钟)才能刷新我的属性? 跟镜像同步有关系吗?

【问题讨论】:

  • 你确定这里没有应用的多个实例吗?
  • 是的,我 100% 确定在我构建 POC 时只有一个应用程序实例在运行。
  • 是特定属性没有刷新吗?
  • 不,让我说清楚,属性正在刷新,但唯一的问题是我必须等待大约 2 分钟,然后客户端应用程序上的 /actuator/refresh 返回更新的属性。意味着我在 git 中更新了 prop,如果我立即在客户端应用程序上发送刷新,那么我看不到新值。如果我等待 2 分钟然后发送刷新,那么我看到客户端具有新值。我不知道为什么我必须等待大约 2 分钟才能解决问题。
  • 我明白了。看看这个,因为你没有提到版本。 stackoverflow.com/questions/49363043/…

标签: git spring-boot cloud-foundry spring-cloud-config


【解决方案1】:

如果您有多个应用程序实例,您将需要点击每个应用程序实例(PCF 中的 AI)或使用类似以下的方法通过事件总线连接应用程序。

https://spring.io/projects/spring-cloud-bus

【讨论】:

  • 不,我只有 1 个实例在运行。
【解决方案2】:

您的配置服务器是否位于 PCF 之外?你能检查一下是否有任何缓存在短时间内。通常 TTL 可达 30-120 秒,这可能会发生。

如果您使用的是 spring 云配置,那么您可能需要检查 refreshRate 设置。通常配置服务器使用spring.cloud.config.server.git.refreshRate从Git后端获取更新的配置数据

【讨论】:

  • 不,我使用的是 PCF 市场提供的配置服务器。
猜你喜欢
  • 2016-01-18
  • 2016-02-07
  • 1970-01-01
  • 2019-06-16
  • 2019-06-04
  • 2020-05-09
  • 2018-10-03
  • 2019-11-17
  • 1970-01-01
相关资源
最近更新 更多