盤點國內(nèi)外主流云計算開發(fā)平臺——新浪Sina App Engine
王雪楊 發(fā)表于:13年05月17日 10:55 [原創(chuàng)] DOIT.com.cn
新浪Sina App Engine
SAE從架構上采用分層設計,從上往下分別為反向代理層、路由邏輯層、Web計算服務池。而從Web計算服務層延伸出SAE附屬的分布式計算型服務和分布式存儲型服務,具體又分成同步計算型服務、異步計算型服務、持久化存儲服務、非持久化存儲服務。
7層反向代理層:HTTP反向代理,在最外層,負責響應用戶的HTTP請求,分析請求,并轉(zhuǎn)發(fā)到后端的Web服務池上,并提供負載均衡、健康檢查等功能。
服務路由層:邏輯層,負責根據(jù)請求的唯一標識,快速的映射(O(1)時間復雜度)到相應的Web服務池,并映射到相應的硬件路徑。如果發(fā)現(xiàn)映射關系不存在或者錯誤,則給出相應的錯誤提示。該層對用戶隱藏了很多具體地址信息,使開發(fā)者無需關心服務的內(nèi)部實際分配情況。
Web服務池:由一些不同特性的Web服務池組成。每個Web服務池實際是由一組Apache(PHP)組成的,這些池按照不同的SLA提供不同級別的服務。每個Web服務進程實際處理用戶的HTTP請求,進程運行在HTTP服務沙盒內(nèi),同時還內(nèi)嵌同樣運行在SAE沙盒內(nèi)的PHP解析引擎。用戶的代碼最終通過接口調(diào)用各種服務。
日志和統(tǒng)計中心:負責對用戶所使用的所有服務進行統(tǒng)計和資源計費,并設定的分鐘配額,來判定是否有非正常的使用。分鐘配額描述了資源消耗的速度,當資源消耗的速度到達一個預警閾值時,SAE通知系統(tǒng)會提前向用戶發(fā)出一個警告,提醒用戶應用在某個服務上的使用可能存在問題,需要介入關注或處理,配額系統(tǒng)是SAE用來保證整個平臺穩(wěn)定的措施之一;日志中心負責將用戶所有服務的日志匯總并備份,并提供檢索查詢服務。
各種分布式服務:SAE提供幾乎可以覆蓋Web應用開發(fā)所有方面的多種服務,用戶可以通過StdLib(可以理解為SAE PHP版的STL)很方便的調(diào)用它們。
編輯總結:SAE的基本目標用戶有兩種,一種是Web開發(fā)者,另一種是普通互聯(lián)網(wǎng)上網(wǎng)人群。其優(yōu)點是:硬件成本更低,無需預先購買設備,承擔更大的投入風險;開發(fā)成本更低,SAE提供許多服務供開發(fā)者使用,開發(fā)者無需重復開發(fā),包括隊列、數(shù)據(jù)庫、緩存、定時、驗證碼、計數(shù)器,幾乎覆蓋了Web開發(fā)的所有領域;運維成本更低,在SAE上的應用無需關心硬件維護、服務監(jiān)控、數(shù)據(jù)容災等操作,SAE會通過其高可靠的架構和方便的監(jiān)控頁面為用戶將運維成本降到最低擴展性更強;更加安全可靠,SAE自動提供SQL語句性能分析、前端防攻擊、代碼檢查等功能,在SAE上的所有應用均為多機房容災部署,比傳統(tǒng)的部署模式更加安全可靠,并且SAE提供服務的SLA來實現(xiàn)對用戶服務質(zhì)量的承諾。