2011-04-28 72 views
3

我將推出在不久的將來,這將在某種程度上,要求用戶上傳文件(圖片)的應用程序被其他成員查看。我喜歡S3的想法,因爲它相對便宜並且可以自動擴展。使用Amazon S3 PHP REST API與安裝S3存儲服務器(s3fs)

我的問題是我如何讓用戶上傳自己的圖片到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

你好minjoon,EBS是不是可以考慮,如果你想規模。考慮將EBS作爲隨身碟,可以連接到單個主機,EBS不能用作NAS或S3。 – 2012-04-25 18:40:22

+1

您是否找到最佳解決方案minjoon?我處於同樣的決定中,哪一個更好的解決方案。歡呼 – 2012-04-25 18:41:37

回答

1

爲您的使用情況下,我建議使用S3 API,而不是直接使用,因爲性能s3fs。請記住,s3fs只是S3的API之上的另一層,它對於你的應用程序的使用並不總是最好的。

爲了處理縮略圖的創作,我建議通過使用亞馬遜簡單隊列服務脫鉤,從主要的上傳過程。這樣,只要上傳文件,用戶就可以收到響應,而無需等待處理,從而縮短響應時間。

至於使用EBS,這是一個不同的場景。 EBS只是Amazon EC2實例的持久性存儲,其可靠性與S3相比並不相同。

同樣重要的是要記住,S3只提供「最終一致性」,而不是一個物理硬盤您的計算機或EC2的EBS實例上,所以你需要編寫你的應用程序,以正確處理。

+0

我不認爲s3fs可以用於生產。 – okwap 2014-03-04 13:12:34