複製鏈接
請複製以下鏈接發送給好友

SAE平台

鎖定
Sina App Engine(以下簡稱SAE)是新浪研發中心於2009年8月開始內部開發,是一款簡單高效的分佈式Web服務開發、運行平台。
中文名
SAE平台
外文名
Sina App Engine
研發商
新浪
屬    性
Alpha版本
開發時間
2009年8月

SAE平台SAE的優勢

SAE的優勢 SAE的優勢
SAE的基本目標用户有兩種,一種是Web開發者,另一種是普通互聯網上網人羣。
對於Web開發者,SAE帶來的好處有:
· 硬件成本更低,無需預先購買設備,承擔更大的投入風險
· 開發成本更低,SAE提供許多服務供開發者使用,開發者無需重複開發,包括隊列、數據庫、緩存、定時、驗證碼、計數器,幾乎覆蓋了Web開發的所有領域。另外對於特定開放平台的開發者,比如新浪微博開發者,SAE已經集成了完整的OpenAPI的封裝,將開發者的開發成本降到最低。值得一提的是,SAE的開發者已經形成了良好的交流氛圍,在意見反饋中心、SAE官方羣,SAE官方微羣可以看到很多熱情的開發者在一起共同提高
· 運維成本更低,在SAE上的應用無需關心硬件維護、服務監控、數據容災等操作,SAE會通過其高可靠的架構和方便的監控頁面為用户將運維成本降到最低擴展性更強,在SAE上的服務無需關心服務壓力猛增時帶來的擴容等操作,SAE自動支持服務擴展
· 更加安全可靠,SAE自動提供SQL語句性能分析、前端防攻擊、代碼檢查等功能,在SAE上的所有應用均為多機房容災部署,比傳統的部署模式更加安全可靠,並且SAE提供服務的SLA來實現對用户服務質量的承諾
對於普通上網人羣,使用SAE可以:
使用推薦應用一鍵安裝Web應用,普通用户無需會編碼,也可以在瞬間擁有自己的團購、博客、微博、Wiki

SAE平台應用選擇

Emlog for SAE
emlog 是 "Every Memory Log" 的簡稱,意即:點滴記憶。是一款基於PHP和MySQL平台的功能強大的個人博客系統(blog)。致力於為您提供快速、穩定,且在使用上又極其簡單、舒適的博客服務。
WSS項目管理系統
WSS(White Shark System)基於PMI®全球項目管理標準,專注於項目管理規範性、易用性、以及視覺效果。
主要功能:項目管理、任務管理、工時管理、工作日誌管理、郵件提醒等。
MediaWiKi
MediaWiki 是一套以GPL授權發行的Wiki引擎。 它具有很豐富的功能,並被維基百科及其他維基媒體基金會的計劃所採用,亦為世界上很多不同的維基所採用。 MediaWiki採用 PHP語言寫成,並以MySQL作為其資料庫。
使用MediaWiki的維基文本格式,用户不必懂得XHTML或是CSS也可以很容易的編輯內容。
XWeibo
Xweibo 2.1標準版(beta)是基於新浪api開發的一套微博標準版系統,擁有新浪微博的基礎功能,開發者可以在此版本上進行二次開發
Wordpress for sae
WordPress是一種使用PHP語言開發的博客平台,用户可以在支持PHP和MySQL數據庫的服務器上架設自己的網誌。也可以把 WordPress 當作一個內容管理系統(CMS)來使用。WordPress 是一個免費的開源項目,在GNU通用公共許可證下授權發佈。
最土團購
最土團購軟件是基於Web應用的B/S架構的團購網站建設解決方案的建站系統。它可以讓用户高效、快速、低成本的構建個性化、專業化、強大功能的團購網站。
基於php5開發,支持多種數據庫,是一款內核強健,擴展方便,體驗友好,運行流暢的輕量級開源博客程序
禪道項目管理軟件(ZenTaoPMS)是一款國產的,基於LGPL協議,開源免費的項目管理軟件,它集產品管理、項目管理、測試管理於一體,同時還包含了事務管理、組織管 理等諸多功能,是中小型企業項目管理的首選。
TeamToy
TeamToy是一個用於團隊溝通的在線交流工具.

SAE平台整體構架

圖1 SAE整體構架 圖1 SAE整體構架
SAE從架構上採用分層設計,從上往下分別為反向代理層、路由邏輯層、Web計算服務池。而從Web計算服務層延伸出SAE附屬的分佈式計算型服務和分佈式存儲型服務,具體又分成同步計算型服務、異步計算型服務、持久化存儲服務、非持久化存儲服務。各種服務統一向日誌和統計中心彙報,參考圖1:7層反向代理層:HTTP反向代理,在最外層,負責響應用户的HTTP請求,分析請求,並轉發到後端的Web服務池上,並提供負載均衡、健康檢查等功能。
服務路由層:邏輯層,負責根據請求的唯一標識,快速的映射(O(1)時間複雜度)到相應的Web服務池,並映射到相應的硬件路徑。如果發現映射關係不存在或者錯誤,則給出相應的錯誤提示。該層對用户隱藏了很多具體地址信息,使開發者無需關心服務的內部實際分配情況。
Web服務池:由一些不同特性的Web服務池組成。每個Web服務池實際是由一組Apache(PHP)組成的,這些池按照不同的SLA提供不同級別的服務。每個Web服務進程實際處理用户的HTTP請求,進程運行在HTTP服務沙盒內,同時還內嵌同樣運行在SAE沙盒內的PHP解析引擎。用户的代碼最終通過接口調用各種服務。
日誌和統計中心:負責對用户所使用的所有服務進行統計和資源計費,並設定的分鐘配額,來判定是否有非正常的使用。分鐘配額描述了資源消耗的速度,當資源消耗的速度到達一個預警閾值時,SAE通知系統會提前向用户發出一個警告,提醒用户應用在某個服務上的使用可能存在問題,需要介入關注或處理,配額系統是SAE用來保證整個平台穩定的措施之一;日誌中心負責將用户所有服務的日誌彙總並備份,並提供檢索查詢服務。
各種分佈式服務:SAE提供幾乎可以覆蓋Web應用開發所有方面的多種服務,用户可以通過StdLib(可以理解為SAE PHP版的STL)很方便的調用它們。

SAE平台SAE的功能

開發:
· 代碼檢查,幫助檢查不良函數並幫助移植
· 代碼部署
· 分佈式文件存儲
· 分佈式緩存
· 各種附屬分佈式服務,包括圖像、定時、任務隊列、郵件、計數器等
· 對接多個開放平台,如新浪微博開發平台
· 代碼調優,通過XHProf提供
· 數據庫優化,通過RDC提供
· 團隊協作,可以邀請好友以不同的權限加入項目
· 代碼版本管理(計劃支持)
運營:
· 應用打包,通過我們的應用嚮導進行推廣
· 日誌,包括訪問日誌、錯誤日誌
· 資源報表,消耗SAE各項資源的統計
· 服務監控,監控各項服務狀態
· 數據遷移,包括數據庫導入、數據庫導出等

SAE平台服務特性

SAE提供的服務
SAE已經提供了十多種服務,整體上分為計算型和存儲型,計算型又包括同步計算和異步計算,而存儲型則分為持久化存儲和非持久化存儲。具體列表如下:
服務名稱
類型
説明
HTTP+PHP
同步計算
帶SAE沙盒的Apache和Zend為用户提供Web計算服務
持久化存儲
提供分佈式文件存儲
非持久化存儲
提供分佈式緩存服務
持久化存儲
分佈式數據庫集羣,提供MySQL服務
異步計算
異步離線輕量級任務隊列,HTTP方式調用
異步計算
異步離線重量級任務隊列,系統方式調用
Counter
持久化存儲
計數器服務
RankDB
持久化存儲
分佈式排行榜服務
持久化存儲
分佈式key/value存儲服務
異步計算
分佈式定時服務
同步計算
分佈式抓取服務
非持久化存儲
提供臨時文件存儲,文件生命週期在一個會話內,Http請求結束文件自動消失
-
提供應用配置功能,取代Apache htaccess
異步計算
郵件發送服務
同步計算
圖像處理服務
同步計算
Facebook提供的強大的PHP調優工具
持久存儲
用户代碼部署的入口點
Online CodeEditor
持久存儲
在線代碼編輯器,編輯的代碼保存後入自動入SVN並部署到Web服務器
兩大特性:擴展性和可靠性
· 擴展性
SAE在服務的可擴展性上基本是動態可擴展性的思路,即資源和ID沒有強對應關係,用户以服務使用者的身份使用SAE服務。
· 可靠性
在計算可靠性方面,SAE主要是依靠多點部署來完成可靠性,多節點的計算一致性上,SAE有分佈式鎖服務提供比Paxos更好的容錯邏輯。
在數據可靠性方面,SAE的所有數據都通過冗餘存儲來達到SLA。SAE通過主動複製和被動複製來實現多點數據冗餘