Cloud foundry 添加应用程序在Cloud Foundry上使用的文件

Cloud foundry 添加应用程序在Cloud Foundry上使用的文件,cloud-foundry,Cloud Foundry,对于我正在转换到CloudFoundry平台的应用程序,我有几个模板文件。这些基本上是将转换为PDF的文档模板。当我的应用程序可以使用这些选项时,我有哪些选择?没有持久的系统驱动器,所以我似乎不能直接上传它们。CloudFoundry建议您将它们保存在AmazonS3、Dropbox或Box之类的东西上,或者干脆将它们作为blob保存在数据库中,但这似乎是一项非常奇怪的工作 这些模板将与应用程序文件分开更改,因此我不打算将它们放在应用程序Jar中 CloudFoundry建议您将它们保存在Ama

对于我正在转换到CloudFoundry平台的应用程序,我有几个模板文件。这些基本上是将转换为PDF的文档模板。当我的应用程序可以使用这些选项时,我有哪些选择?没有持久的系统驱动器,所以我似乎不能直接上传它们。CloudFoundry建议您将它们保存在AmazonS3、Dropbox或Box之类的东西上,或者干脆将它们作为blob保存在数据库中,但这似乎是一项非常奇怪的工作

这些模板将与应用程序文件分开更改,因此我不打算将它们放在应用程序Jar中

CloudFoundry建议您将它们保存在AmazonS3、Dropbox或Box之类的东西上,或者干脆将它们作为blob保存在数据库中,但这似乎是一项非常奇怪的工作

为什么你认为这是一项奇怪的工作?p> CloudFoundry的主要好处之一是弹性可伸缩性。一旦你的应用程序在CF上运行,你就可以根据需要轻松地上下扩展。随着您的扩展,应用程序的新副本将在新容器中启动。当你缩小规模时,应用程序容器将被销毁。只有作为原始应用程序推送的一部分的文件才会放入新容器中

如果您有像这些模板这样的文件,并且这些文件随着时间的推移而变化,并且您将它们存储在容器的文件系统中,那么您需要确保在放大和缩小时,应用程序的所有实例始终具有相同的模板文件副本。上载新模板时,必须确保它们分发到所有实例,而不仅仅是处理上载的一个实例。由于新的应用程序实例是按比例创建的,您需要确保它们具有最新版本的模板

CF的另一个好处是应用程序运行状况管理。如果您的应用程序实例因任何原因崩溃,CF将检测到此情况并在新容器中启动一个新实例。同样,只有作为原始应用程序推送一部分的文件才会被放入新容器中。您需要确保在启动后将模板文件的最新版本添加到容器中


将这样的文件(其生命周期与应用程序分开)存储在应用程序容器外部的持久性存储中,可以解决所有这些问题,并确保应用程序的所有实例在上下扩展实例或恢复崩溃实例时获得相同版本的文件

需要明确的是,没有任何东西可以阻止您上传文件并将其存储在容器的文件系统中。CF不会阻止您这样做。出于上述原因,这只是一种不好的做法。好吧,它主要是将那些文件放入数据库,我会觉得奇怪。我不介意把它们放在一个地方,这样所有的应用程序都可以到达那个地方,但是一个数据库包含这样的文件听起来很奇怪。您建议CF中的哪个组件存储此文件?我更喜欢一个单一的提供者,所以不要为此而移动到Amazon或Dropbox。我的问题是:我需要告诉DB2数据源在哪里可以找到证书文件
ds.setSslCertLocation(String location)
。无法传递流,它总是需要一个文件路径。也许你可以扩展你的答案如何处理这个特殊情况?