1

我已经使用 PHP 构建了一个图像上传功能。实现的场景只处理服务器机器的本地文件系统,现在我需要重新实现该功能以适应 AWS。问题是 AWS 提供了 3 种类型的文件存储(EFS、EBS 和 S3),我不知道如何处理使用场景的第 1 步和第 3 步:

  1. 原始图像上传并存储在系统中(重命名和清理后)。

  2. 我使用 Imagine 库过滤器从该图像(小、中、大)创建 3 个副本。这 3 个副本旨在使用 PHP AWS 开发工具包复制到 S3。它们还针对更好的性能进行了优化。

  3. 原图删掉(因为大,没用过,删掉心理好)。

换句话说,将原始临时图像存储在哪里更好?对这个图像使用 EBS 或 EFS 更好,还是与最终图像一起存储在 S3 中,然后再将其删除。

就延迟和执行速度而言,与 EC2 “最近”的存储系统是什么?他们都需要一个 EC2 实例,但肯定有一个更适合temporary.

您的经验对我们来说总是非常宝贵的。非常感谢你

4

1 回答 1

1

我建议将图像保留在您的 EBS 卷上,就像您在处理后要删除该图像一样。您的 EBS 卷是该映像处理的最快方式,因为它直接附加到 EC2 实例,然后将这 3 个映像移动到 S3。附加到您的 EC2 的 EFS 卷也适用于您的情况,但 EFS 又是昂贵的,并且不是临时存储的好选择。

如果您将该大图像移动到 S3 然后对其进行处理,那么 S3 数据传输成本将会增加,并且还会涉及延迟,因为该图像需要时间上传到 S3。

因此,临时图像存储的最佳选择是 EBS 或 EC2 实例上的特定级别 EFS。

于 2016-08-06T15:25:28.563 回答