3

我将在不久的将来启动一个应用程序,该应用程序部分要求用户上传文件(图像)以供其他成员查看。我喜欢 S3 的想法,因为它相对便宜并且可以自动扩展。

我的问题是如何让用户将他们的图像上传到 S3。似乎有几个选择。

1-使用 php REST API。唯一的问题是我无法让它同时上传同一图像的各种缩放版本(即缩略图)并将它们直接上传到s3(它一次只适用于一张图像)。总的来说,它似乎不太灵活。

http://net.tutsplus.com/tutorials/php/how-to-use-amazon-s3-php-to-dynamically-store-and-manage-files-with-ease/

2- 另一种选择是使用 s3fs 安装 S3 存储桶。然后像使用 NFS 一样以编程方式将我的图像移动到存储桶中。根据我的阅读,似乎有些人怀疑安装 S3 的可靠性。这是真的?

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=fuse+over+amazon

哪种方法更适合最大的可靠性和速度?

EBS 是否值得考虑?我真的很想有一个专用的盒子而不是使用 EC2 实例,虽然......

4

1 回答 1

1

对于您的用例,出于性能考虑,我建议直接使用 S3 API 而不是使用 s3fs。请记住,s3fs 只是 S3 API 之上的另一层,它对该 API 的使用并不总是最适合您的应用程序。

要处理缩略图的创建,我建议使用 Amazon Simple Queue Service 将其与主上传过程分离。这样一来,您的用户将在文件上传后立即收到响应,而无需等待文件被处理,从而缩短响应时间。

至于使用 EBS,那是另一种情况。EBS 只是 Amazon EC2 实例的持久存储,它的可靠性无法与 S3 相比。

同样重要的是要记住,S3 仅提供“最终一致性”,而不是您机器上的物理 HDD 或 EC2 上的 EBS 实例,因此您需要编写应用程序以正确处理它。

于 2011-11-03T08:05:46.293 回答