技術校正、審閱:tkcn
App Engine 1.4.0 版出來啦!這是我們本年度最重要的一個版本,裡頭包含一堆開發人員已經等很久的超棒特性:
- Channel API — 一個雙向的 channel,無須 polling 就可以直接 pushing notification 到在 client 端運行的 JavaScript,使 server 能直接跟使用者的 browser 溝通。這個 service 使用與 Google Talk 一樣的技術,可以很輕鬆地建立即時的 application,例如多人遊戲、聊天室、或是任何協同作業為主的 application。
- Always On—對於高優先等級、但是低流量或不定流量的 application,現在可以用 App Engine 的 Always On 功能來保留 instance。Always On 是一個進階版的功能,每個月需另外付 $9。它可以為你的 application 保留三個 instance,即使沒有任何流量也絕對不會關掉。這減緩了小流量或是變動流量的 application 在 loading request 的影響。
App Engine 管理控制台中的 Instance 頁面,當中 Always On 是開啟的。
- Warm Up Request—這個功能會預測是否需要更多的 instance,並且在使用者的流量傳入之前就先載入新的 instance。如此一來,就可以減少處理 request 的時間。透過 app.yaml 或是 appengine-web.xml 可以對所有 application 啟用這個功能,當 application 已經購買 Always On 也會預設開啟。一旦啟用這個功能,當 application 開始處理使用者的傳輸量前所可能要載入的新 instance 時,warm up request 就會送出。
同時,我們花了很多時間在減少或移除現存 App Engine API 的限制:
- 拿掉背景工作的 30 秒限制—在這個版本中,我們大幅提高來自 Task Queue 跟 Cron 發出離線 request 的時間限制。現在可以執行長達 10 分鐘的程式而不會中斷。
- 加大 API call 的大小限制—新的 API 架構讓我們可以開始取消許多 App Engine API 的 1MB 大小限制。這次已更改下列 API:
- URLFetch 的 response 大小限制從 1MB 提升到 32MB。
- 批次存取 Memcache 的次數也提高到 32MB。
- Image API 的 request、response 大小限制從 1MB 提升到 32MB。
Mail API 所送出的附加檔案大小限制從 1MB 提昇到 10MB。
你可以想像,這當中的某些改變大幅度地擴展 application 的範圍,並輕鬆地用 App Engine 來完成。所以,趁熱下載 SDK 吧!