1.要解決的問題
許多用戶會上傳大數據文件到圖片與視頻分享網站。某些情況下,甚至是一些中等型規模的網站,在上傳過程中會出現服務器端高負荷(尤其是網絡負載),這時就需要一個虛擬服務器專門用於上傳。
2.雲模式的說明
把上傳過程交由網絡存儲來實現。就是說,不通過虛擬服務器由客戶端上傳數據,而是直接上傳至網絡存儲。這樣就無需擔心因上傳過程而導致的web服務器負荷過大的問題。
3.實施
在web服務器(EC2實例)上生成一個 用於執行上傳至S3服務的HTML表單。
使用上傳表單,從用戶端直接上傳文件至S3。因爲在文件完成向S3轉移後,表中指定的URL會有一個重定向,所以要確認完成了在上傳服務器中的地址重定向。
4.配置
5.好處
這消除了爲上傳而準備EC2實例的人力或成本。
這可以充分利用S3的可擴展性來分配上傳過程的負載。數據被上傳至S3中,使得可以很容易地在EC2實例間共享。
6.注意事項
因爲這個實現要結合S3一起執行,所以和單獨使用EC2上傳相比較,這個方法則較複雜。
7.其他
關於使用HTML表單上傳數據至S3的功能請參見: http://doc.s3.amazonaws.com/proposals/post.html
因爲可以手動創建HTML表單,所以可以只使用S3來分發HTML表單和上傳數據。