2011-09-27 101 views
4

什麼是投放靜態圖片和JavaScript文件使用AppEngine上的最佳方式是什麼?服務的AppEngine靜態文件

從我可以看到有適用兩種方法,具有存儲在你上傳服務的戰爭目錄中的文件,在設計時。另一種方式是使用Blobstore,並在服務之後上傳文件。

我看到有關於戰爭目錄(每個文件10MB的限制)的資源文件150MB的限制,但是從我所看到的,這是簡單的,「自由」的空間。它比blobstore慢嗎? blobstore的動態特性對我來說並不重要,所以目錄似乎是更好的選擇。

任何人都可以提供任何建議嗎?我的結論是否正確?

回答

9

它的優良把JavaScript和圖像文件在你的資源文件目錄AppEngine上。根據我的經驗,blobstore和資源文件具有相似的性能特徵。

然而,隨着網站的速度變得更爲重要,可能更有意義,使用CDN的靜態文件更快地得到你的用戶。

如果靜態JavaScript是常見的東西像jQuery或jQuery的UI我會建議使用谷歌圖書館API馬上蝙蝠:http://code.google.com/apis/libraries/devguide.html

+0

+1我同意這一點。使用CDN是一種更好的方法。 – Rudy

+0

Blobstore和資源文件可能似乎具有類似的性能特徵,但是也不是用於向上服務器的方式。試一試靜態文件。你可能會很驚訝。 –

0

如果它僅僅是一個正常的網站,它承載了一些圖像和JavaScript文件,一般應該按照標準的方式將它們放入戰爭目錄。 我看不到多少好處把這些文件放入Blob存儲正如你所說不感興趣的動態特性。更不用說您使用blobstore添加的另一個複雜級別。

4

服務靜態文件(圖像,javascript,css)的理想方式是使用<static-files>appengine-web.xml中聲明它們。

http://code.google.com/appengine/docs/java/config/appconfig.html#Static_Files_and_Resource_Files首段規定出來很好:

許多Web應用程序都被直接提供給用戶的瀏覽器中的文件,如圖片,CSS樣式表或瀏覽器JavaScript代碼。這些被稱爲靜態文件,因爲它們不會改變,並且可以從專用於靜態內容的Web服務器中受益。 App Engine從獨立於應用程序服務器的專用服務器和高速緩存提供靜態文件。