2010-10-13 53 views
2

目前我正在尋找將我的網站圖像移動到存儲服務。我有兩個使用PHP和ASP.NET開發的網站。網站的圖像存儲和CDN

使用Amazon S3服務,我們可以託管我們所有的圖像和視頻以提供網頁服務。但是當我們想要提供圖像時,使用S3服務存在一些限制。

  1. 如果網站需要不同大小的原始圖像不同的縮略圖,那很難。我們還需要訂閱EC2。儘管從S3到EC2的數據傳輸是免費的,但在處理圖像調整大小操作之前,數據傳輸需要時間。
  2. 上傳zip格式的文件數量並在S3中解壓縮不可能減少上傳次數。
  3. 如果我們想轉移到另一個提供者,則無法從S3下載多個文件。
  4. 圖像名稱在S3中區分大小寫。如果圖片名稱與請求不匹配,則不會加載圖片。

其中,由於圖片大小調整是一般要求,所有這些都是非常重要的。

哪個供應商最適合實現我的目標。我可以只爲圖像託管目的而轉移到Google AppEngine,還是有其他供應商可以提供上述服務嗎?

+0

你有幾張圖片?他們有多大(平均,最大)? – iddqd 2010-10-13 09:11:46

回答

-1

如果您使用的是EC2,那麼S3是您的最佳選擇。 「最佳做法」是簡單地預先渲染所有尺寸的圖像並以不同的名稱上傳。即:

/images/image_a123.large.jpg 
/images/image_a123.med.jpg 
/images/image_a123.thumb.jpg 

這種做法是在使用由Digg的,微博(曾幾何時,也許不是twimg ...),以及其他公司的主機。

這可能並不理想,但它是最快和最簡單的方法。就切換到另一個提供商而言,您可能不會那麼做,因爲無論如何都要傳輸所有文件的工作量。如果您擁有1,000,000張圖片或3,000,000張圖片,則仍然有很多兆字節的文件。

幸運的是,S3有一個導入/導出服務。您可以向他們發送一個空的硬盤驅動器,然後他們將格式化並將您的數據下載到它,只需支付一小筆費用。

根據您對區分大小寫的關注,您不會找到不是區分大小寫的提供程序。如果您的代碼編寫正確,您會將所有名稱標準化爲大寫或小寫,或者使用某種基本64位身份識別系統來爲您處理病例。總而言之,S3將給你提供最好的「砰砰聲」,如果你想加快速度,它會有CloudFront的支持。 不是使用S3因爲原因3和4是無稽之談,因爲它們可能適用於任何你去的地方。

0

S3真的很慢,也沒有分佈。相比之下,Cloudfront也是您可以獲得的最慢和最昂貴的CDN之一。唯一的好處是,如果你已經使用其他AWS,你會得到一張賬單。

我的博客上講述不同的CDN並進行了一些測試: http://till.klampaeckel.de/blog/archives/100-Shopping-for-a-CDN.html

至於安裝,我建議的東西,使用產地拉。因此,您自己託管圖像,並且CDN在第一次請求時請求它的副本。

這也意味着您可以使用腳本「動態」生成圖像,因爲它們只會被拉動一次左右。只需設置適當的緩存標頭。然後圖像將被緩存,直到您清除CDN的緩存。

HTH

0

我剛剛碰到CloudFlare - 從我從他們的網站了解,你不應該需要對你的網站進行任何更改。顯然你需要做的只是改變你的DNS設置。即使提供免費的選項。

2

我偶然發現了一家名爲Cloudinary的好公司,它提供了CDN圖像存儲服務 - 它們還提供了多種方式,允許對圖像進行操作(Cropping將主要關注您,因爲我們正在討論不同大小縮略圖)。

我不知道他們是如何在網站速度提升方面與其他公司競爭maxcdn,但從我所看到的 - 當它涉及到圖像處理時,他們有更多的選擇。

+0

另一家提供類似功能的公司:https://Uploadcare.com – 2014-12-04 23:03:43