hengheng123456789

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
          轉(zhuǎn)自:http://baike.baidu.com/view/1524918.htm

          Google App Engine 是一種讓您可以在 Google 的基礎架構上運行您的網(wǎng)絡應用程序。Google App Engine 應用程序易于構建和維護,并可根據(jù)您的訪問量和數(shù)據(jù)存儲需要的增長輕松擴展。使用 Google App Engine,將不再需要維護服務器:您只需上傳您的應用程序,它便可立即為您的用戶提供服務。


          簡介

          您可以使用 Google提供的免費域名(見擴展閱讀)為您的應用程序提供服務,也可以使用 Google Apps 從您自己的域為它提供服務。您可以與全世界的人共享您的應用程序,也可以限制為只有您組織內(nèi)的成員可以訪問。
          您可以免費開始使用 App Engine。注冊一個免費帳戶即可開發(fā)和發(fā)布您的應用程序以供全世界的人共享,而且不需要承擔任何費用和責任。每個免費帳戶都可使用多達 500MB 的持久存儲空間,以及可支持每月約 500 萬頁面瀏覽量的足夠 CPU 和寬帶[1]
          使用 Google App Engine 的試用版本期間,只可以使用免費帳戶。您很快就能夠購買其他的計算資源。 App Engine提供了一個web應用運行的框架,App Engine 應用程序易于運行、部屬和擴展。App Engine不同于其他方案:App Engine不是網(wǎng)格計算—它不能運行任意的作業(yè)。它不提供物理主機但提供了打包代碼上傳的方式。用戶在只需要在代碼中指定了response和request,剩下的運行和部署的任務就交給了App Engine。用戶不需要預留資源,例如RAM、CPU或者諸如此類。


          應用程序環(huán)境

          通過 Google App Engine,即使在重載和數(shù)據(jù)量極大的情況下,也可以輕松構建能安全運行的應用程序。該環(huán)境包括以下特性:
          動態(tài)網(wǎng)絡服務,提供對常用網(wǎng)絡技術的完全支持
          持久存儲有查詢、分類和事務
          自動擴展和載荷平衡
          用于對用戶進行身份驗證和使用 Google 帳戶發(fā)送電子郵件的 API
          一種功能完整的本地開發(fā)環(huán)境,可以在您的計算機上模擬 Google App Engine
          Google App Engine 應用程序是使用 Python 編程語言實現(xiàn)的。該運行時環(huán)境包括完整 Python 語言和多數(shù) Python 標準庫。
          目前,Google App Engine 支持 Python 語言和 JAVA 語言,但是我們希望將來它可以支持更多語言。

          Sandbo

          在安全環(huán)境中運行的應用程序,僅提供對基礎操作系統(tǒng)的有限訪問權限。這些限制讓 App Engine 可以在多個服務器之間分發(fā)應用程序的網(wǎng)絡請求,并可以啟動和停止服務器以滿足訪問量需求。Sandbox 將您的應用程序隔離在它自己的安全可靠環(huán)境中,該環(huán)境與網(wǎng)絡服務器的硬件、操作系統(tǒng)和物理位置無關。
          安全 Sandbox 環(huán)境的限制實例包括:
          應用程序只能通過提供的網(wǎng)址獲取和電子郵件服務和 API 訪問互聯(lián)網(wǎng)中的其他計算機。其他計算機只能通過在標準端口上進行 HTTP(或 HTTPS)請求來連接至該應用程序。
          應用程序無法向文件系統(tǒng)寫入。應用程序只能讀取通過應用程序代碼上傳的文件。該應用程序必須使用 App Engine 數(shù)據(jù)庫存儲所有在請求之間持續(xù)存在的數(shù)據(jù)。
          應用程序代碼僅在響應網(wǎng)絡請求時運行,且必須在幾秒鐘內(nèi)返回響應數(shù)據(jù)。請求處理程序不能在響應發(fā)送后產(chǎn)生子進程或執(zhí)行代碼。


          Python 運行時環(huán)境

          App Engine 提供了一個使用 Python 編程語言的運行時環(huán)境。將來的版本將考慮使用其他編程語言和運行時環(huán)境配置。
          Python 運行時環(huán)境使用 Python 2.5.2 版。
          該環(huán)境包括 Python 標準庫。當然,您無法調(diào)用違反了 Sandbox 限制的庫方法,例如嘗試打開套接字或向文件寫入。方便起見,其主要功能不受該運行時環(huán)境支持的標準庫中的多個模塊已被禁用,而導入這些模塊的代碼將發(fā)生錯誤。
          應用程序代碼只能以 Python 編寫。具有用 C 編寫的擴展的代碼不受支持。
          Python 環(huán)境為數(shù)據(jù)庫、Google 帳戶、網(wǎng)址獲取和電子郵件服務提供了豐富的 Python API。App Engine 還提供了一個稱為 webapp 的簡單 Python 網(wǎng)絡應用程序框架,從而可以輕松開始構建應用程序。
          方便起見,App Engine 還包括 Django 網(wǎng)絡應用程序框架 0.96.1 版。請注意,App Engine 數(shù)據(jù)庫不是某些 Django 組件所需的關系數(shù)據(jù)庫。某些組件(例如 Django 模板引擎)按照文檔化的程序工作,而其他組件則需要做更多工作。有關將 Django 與 App Engine 一起使用的提示,請參閱文章部分。
          只要這些庫是完全使用 Python 實現(xiàn)并且不需要任何不受支持的標準庫模塊,您就可以使用您的應用程序上傳其他第三方庫。
          有關 Python 運行時環(huán)境的詳細信息,請參閱 Python 運行時環(huán)境。


          數(shù)據(jù)庫

          App Engine 提供了一個強大的分布式數(shù)據(jù)存儲服務,其中包含查詢引擎和事務功能。就像分布式網(wǎng)絡服務器隨訪問量增加一樣,該分布式數(shù)據(jù)庫也會隨數(shù)據(jù)而增加。
          該 App Engine 數(shù)據(jù)庫與傳統(tǒng)關系數(shù)據(jù)庫不同。數(shù)據(jù)對象(或“實體”)有一類和一組屬性。查詢可以檢索按屬性值過濾和分類的給定種類的實體。屬性值可以是受支持的屬性值類型中的任何一種。
          數(shù)據(jù)庫的 Python API 包括一個可以定義數(shù)據(jù)庫實體結(jié)構的數(shù)據(jù)建模界面。數(shù)據(jù)模型可以指示屬性值必須位于給定范圍內(nèi),如果未給定任何范圍,還可以提供默認值。您的應用程序可以根據(jù)需要向數(shù)據(jù)提供或多或少的結(jié)構。
          數(shù)據(jù)庫使用樂觀鎖定進行并發(fā)控制。如果有其他進程嘗試更新某實體,而同時該實體位于以固定次數(shù)進行重新嘗試的事務中,此時該實體將更新。應用程序可以在一個事務中執(zhí)行多項數(shù)據(jù)庫操作(全部成功或者全部失敗),從而確保數(shù)據(jù)的完整性。
          數(shù)據(jù)庫通過其分布式網(wǎng)絡使用“實體組”實現(xiàn)事務。一個事務操作一個組內(nèi)的實體。同一組的實體存儲在一起,以高效執(zhí)行事務。應用程序可以在實體創(chuàng)建時將實體分配到組。
          有關數(shù)據(jù)庫的詳細信息,請參閱數(shù)據(jù)庫 API 參考。


          Google 帳戶

          App Engine 包括用于與 Google 帳戶集成的服務 API。應用程序使用戶可以通過 Google 帳戶登錄,并可以訪問與該帳戶關聯(lián)的電子郵件地址和可顯示的名稱。使用 Google 帳戶使用戶可以更快地開始使用您的應用程序,因為用戶可以不需要創(chuàng)建新帳戶了。Google 帳戶還省去只為您的應用程序執(zhí)行用戶帳戶系統(tǒng)的麻煩。
          如果您的應用程序正在 Google Apps 下運行,則它可以與您組織的成員和 Google Apps 帳戶成員使用相同的功能。
          用戶 API 還可告知應用程序當前用戶是否是應用程序的注冊管理員。這樣便可以輕松實現(xiàn)您站點上僅用于管理的區(qū)域。
          有關與 Google 帳戶集成的詳細信息,請參閱用戶 API 參考。


          App Engine 服務

          App Engine 提供了多種服務,從而使您可以在管理應用程序的同時執(zhí)行常規(guī)操作。提供了以下 API 以訪問這些服務:
          網(wǎng)址獲取
          應用程序可以使用 App Engine 的網(wǎng)址獲取服務訪問互聯(lián)網(wǎng)上的資源,例如網(wǎng)絡服務或其他數(shù)據(jù)。網(wǎng)址獲取服務使用用于為許多其他 Google 產(chǎn)品檢索網(wǎng)頁的高速 Google 基礎架構來檢索網(wǎng)絡資源。有關網(wǎng)址獲取服務的詳細信息,請參閱網(wǎng)址獲取 API 參考。
          郵件
          應用程序可以使用 App Engine 的郵件服務發(fā)送電子郵件。郵件服務使用 Google 基礎架構發(fā)送電子郵件。有關郵件服務的詳細信息,請參閱郵件 API 參考。
          Memcache
          Memcache 服務為您的應用程序提供了高性能的內(nèi)存鍵值緩存,您可通過應用程序的多個實例訪問該緩存。Memcache 對于那些不需要數(shù)據(jù)庫的永久性功能和事務功能的數(shù)據(jù)很有用,例如臨時數(shù)據(jù)或從數(shù)據(jù)庫復制到緩存以進行高速訪問的數(shù)據(jù)。有關 Memcache 服務的詳細信息,請參閱 Memcache API 參考。
          圖片操作
          圖片服務使您的應用程序可以對圖片進行操作。使用該 API,您可以對 JPEG 和 PNG 格式的圖片進行大小調(diào)整、剪切、旋轉(zhuǎn)和翻轉(zhuǎn)。有關圖片操作服務的詳細信息,請參閱圖片 API 參考。


          開發(fā)工作流程

          App Engine 軟件開發(fā)套件 (SDK) 包括可以在您的本地計算機上模擬所有 App Engine 服務的網(wǎng)絡服務器應用程序。該 SDK 包括 App Engine 中的所有 API 和庫。該網(wǎng)絡服務器還可以模擬安全 Sandbox 環(huán)境,包括檢查是否存在禁用模塊的導入以及對不允許訪問的系統(tǒng)資源的嘗試訪問。
          Python SDK 完全使用 Python 實現(xiàn),可以在裝有 Python 2.5 的任何平臺上運行,包括 Windows、Mac OS X 和 Linux。您可以在 Python 網(wǎng)站上獲得適用于您的系統(tǒng)的 Python。該 SDK 以 Zip 文件提供,安裝程序可用于 Windows 和 Mac OS X。
          您可以在此處下載該 SDK。
          該 SDK 還包括可將您的應用程序上傳到 App Engine 的工具。創(chuàng)建了您應用程序的代碼、靜態(tài)文件和配置文件后,即可運行該工具上傳數(shù)據(jù)。該工具會提示您提供 Google 帳戶電子郵件地址和密碼。
          構建已在 App Engine 上運行的應用程序的新主要發(fā)行版時,可以將新發(fā)行版作為新版本上傳。在您改為使用新版本之前,舊版本可以繼續(xù)為用戶提供服務。可以在仍運行舊版本的同時在 App Engine 上測試新版本。
          管理控制臺是基于網(wǎng)絡的界面,用于管理在 App Engine 上運行的應用程序。您可以使用它創(chuàng)建新應用程序、配置域名、更改您的應用程序當前的版本、檢查訪問權限和錯誤日志以及瀏覽應用程序數(shù)據(jù)庫。


          限額和限制

          創(chuàng)建 App Engine 應用程序不僅簡單,而且是免費的!您可以創(chuàng)建帳戶,然后發(fā)布一個應用程序,用戶無需承擔任何費用和責任即可立即使用該應用程序。通過免費帳戶獲得的應用程序可使用多達 500MB 的存儲空間和多達每月 500 萬的頁面瀏覽量。
          此試用時間內(nèi),僅提供免費帳戶。您很快就能夠以有競爭力的市場價格購買其他的計算資源。試用期過后,免費帳戶可繼續(xù)使用。
          此試用期間,最多可注冊 3 個應用程序。
          應用程序資源限制(“限額”)會不斷刷新。如果您的應用程序達到基于時間的限額(例如寬帶),則該限額將以給定限制的比率立即開始刷新。固定限額(例如存儲使用量)僅在降低使用量時才會減小。
          有些功能會施加與限額無關的限制,以保護系統(tǒng)的穩(wěn)定性。例如,當調(diào)用某應用程序以為網(wǎng)絡請求提供服務時,該應用程序必須在幾秒鐘內(nèi)發(fā)出響應。如果該應用程序花費的時間過長,則進程將被終止并且服務器將向用戶返回錯誤代碼。響應超時是動態(tài)的,如果請求處理程序經(jīng)常達到其超時,則可以縮短請求超時以節(jié)省資源。
          服務限制的另一實例是查詢返回的結(jié)果數(shù)。一個查詢最多可返回 1,000 條結(jié)果。要返回更多結(jié)果的查詢只能返回該最大值。在這種情況下,執(zhí)行這種查詢的請求不可能在超時前返回請求,但限制仍存在以節(jié)省數(shù)據(jù)庫上的資源。
          試圖破壞或濫用限額(例如同時在多個帳戶上操作應用程序)違反服務條款,并可能導致應用程序被禁用或帳戶關閉。
          參考資料
          擴展閱讀:
          posted on 2011-04-29 15:05 哼哼 閱讀(355) 評論(0)  編輯  收藏 所屬分類:
          主站蜘蛛池模板: 菏泽市| 高清| 武穴市| 卢龙县| 大方县| 山东省| 福泉市| 京山县| 石台县| 大石桥市| 贵阳市| 灵丘县| 阿尔山市| 政和县| 许昌市| 遂平县| 聂拉木县| 元谋县| 卫辉市| 白银市| 瓦房店市| 平安县| 花莲县| 镇平县| 嵊泗县| 霞浦县| 临夏市| 扎囊县| 蒙城县| 容城县| 大英县| 宝应县| 宝鸡市| 明水县| 礼泉县| 临潭县| 扎囊县| 大化| 常熟市| 塔城市| 东光县|