春季云数据流磁盘空间不足

时间:2018-10-22 04:07:27

标签: spring-boot pivotal-cloud-foundry spring-cloud-dataflow pcfdev

SCDF在PCF上启动了大量任务(约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哈希和启动任务(及其周围的各种选项)

谢谢!

1 个答案:

答案 0 :(得分:1)

出于以下原因,SCDF在服务器端下载了工件。

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

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

  

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

总是总是下载基于HTTP(或除maven,docker以外的任何基于URL的显式URL)的工件,这是因为特定URL中的资源可以用其他资源替换,而我们不这样做在这种情况下不想使用缓存。

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

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

我们还考虑在部署/启动基于HTTP的工件后将其删除。看起来现在值得重新讨论。