使用Amazon S3 php REST API与安装S3存储桶到服务器(s3fs)

时间:2011-04-28 00:44:52

标签: php amazon-web-services amazon-s3 amazon-ebs s3fs

我将在不久的将来推出一个应用程序,它将部分地要求用户上传文件(图像)以供其他成员查看。我喜欢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实例,但是......

1 个答案:

答案 0 :(得分:1)

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

为了处理缩略图的创建,我建议使用Amazon Simple Queue Service将其与主上传过程分离。这样,一旦文件上传,您的用户就会收到响应,而不必等待处理,从而缩短响应时间。

至于使用EBS,这是一个不同的场景。 EBS只是Amazon EC2实例的持久存储,它的可靠性与S3不相上下。

同样重要的是要记住,S3只提供“最终一致性”,而不是机器上的物理硬盘或EC2上的EBS实例,因此您需要对应用进行编码才能正确处理。