1

我们在 PCF 上由 SCDF 启动了大量任务(约 30 个),但是我们遇到了 SCDF 的磁盘空间问题,该问题似乎是由于每次调用任务时 SCDF 下载工件所致。

  1. 在我们的案例中,工件是从一个休息端点https://service/ {artifact-name-version.jar} 下载的(它又从 S3 存储库提供它)
  2. 每次调用任务时,SCDF 似乎都会下载工件(到 ~tmp/spring-cloud-deployer 目录)验证 sha1 哈希以确保它是最新的,然后再在 PCF 上启动任务
  3. 下载的工件永远不会被清理

每次都下载工件并填满 PCF 上 SCDF 实例的 ~tmp/ 中的磁盘空间是不可取的。如果它已经存在,有没有办法告诉 SCDF 不要下载工件?

另外,有人可以解释一下工件下载的机制,比较sha1哈希和启动任务(以及它周围的各种选项)

谢谢 !

4

1 回答 1

1

SCDF 在服务器端下载工件的原因如下。

1) 元数据(应用程序属性)检索 - 如果您有明确的元数据资源,则仅下载该资源 2) 相应的部署者(本地,CF)最终在发送部署请求/启动请求之前下载工件。

下载工件时,哈希值用于创建唯一的临时文件。

如果它已经存在,有没有办法告诉 SCDF 不要下载工件?

由于特定 URL 中的资源可以替换为其他资源,因此我们不希望在这种情况下使用缓存,因此始终会下载基于 HTTP(或基于 maven、docker 以外的任何显式 URL)的工件.

此外,我们最近不赞成使用缓存清理机制,因为它没有得到有效使用。

如果您的用例(具有此特定磁盘空间限制无法处理缓存多个工件)需要此缓存功能清理,请在此处创建 Github 请求

我们还考虑在部署/启动后删除基于 HTTP 的工件。看来现在值得重温一下。

于 2018-10-22T05:05:16.823 回答