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

SAE

(雲計算平台)

編輯 鎖定
Sina App Engine(簡稱SAE)是新浪研發中心於2009年8月開始內部開發,並在2009年11月3日正式推出第一個Alpha版本的國內首個公有App Engine,SAE是新浪雲計算戰略的核心組成部分。
外文名
SAE
全    稱
Sina App Engine
類    屬
新浪內部雲計算平台
開發時間
2009年

SAE起源

編輯
SAE作為國內的公有云計算,從開發伊始借鑑吸納Google、Amazon等國外公司的公有云計算的成功技術經驗,並很快推出有別於國外公司並具有自身特色的App Engine。SAE選擇在國內流行最廣的Web開發語言PHP作為首選的支持語言,Web開發者可以在Linux/Mac/Windows上通過SVN或者Web版在線代碼編輯器進行開發、部署、調試,團隊開發時還可以進行成員協作,不同的角色將對代碼、項目擁有不同的權限;SAE提供了一系列分佈式計算、存儲服務供開發者使用,包括分佈式文件存儲、分佈式數據庫集羣、分佈式緩存、分佈式定時服務等,這些服務將大大降低開發者的開發成本。同時又由於SAE整體架構的高可靠性和新浪的品牌保證,大大降低了開發者的運營風險。另外,作為典型的雲計算,SAE採用“所付即所用,所付僅所用”的計費理念,通過日誌和統計中心精確的計算每個應用的資源消耗(包括CPU內存磁盤等)。 [1] 

SAE核心優勢

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

SAE整體架構

編輯
SAE從架構上採用分層設計,從上往下分別為反向代理層、路由邏輯層、Web計算服務池。而從Web計算服務層延伸出SAE附屬的分佈式計算型服務和分佈式存儲型服務,具體又分成同步計算型服務、異步計算型服務、持久化存儲服務、非持久化存儲服務。各種服務統一向日誌和統計中心彙報,參考下圖:
Level7 Reverse Proxy(7層反向代理層):HTTP反向代理,在最外層,負責響應用户的HTTP請求,分析請求,並轉發到後端的Web服務池上,並提供負載均衡、健康檢查等功能。
Service Router(服務路由層):邏輯層,負責根據請求的唯一標識,快速的映射(O(1)時間複雜度)到相應的Web服務池,並映射到相應的硬件路徑。如果發現映射關係不存在或者錯誤,則給出相應的錯誤提示。該層對用户隱藏了很多具體地址信息,使開發者無需關心服務的內部實際分配情況。
Web Service Pools(Web服務池):由一些不同特性的Web服務池組成。每個Web服務池實際是由一組Apache(PHP)組成的,這些池按照不同的SLA提供不同級別的服務。每個Web服務進程實際處理用户的HTTP請求,進程運行在HTTP服務沙盒內,同時還內嵌同樣運行在SAE沙盒內的PHP解析引擎。用户的代碼最終通過接口調用各種服務。
Statistics Center & Log Center(日誌和統計中心):負責對用户所使用的所有服務進行統計和資源計費,並設定的分鐘配額,來判定是否有非正常的使用。分鐘配額描述了資源消耗的速度,當資源消耗的速度到達一個預警閾值時,SAE通知系統會提前向用户發出一個警告,提醒用户應用在某個服務上的使用可能存在問題,需要介入關注或處理,配額系統是SAE用來保證整個平台穩定的措施之一;日誌中心負責將用户所有服務的日誌彙總並備份,並提供檢索查詢服務。
各種分佈式服務:SAE提供覆蓋Web應用開發主要方面的多種服務,用户可以通過StdLib(可以理解為SAE PHP版的STL)很方便的調用它們。同時因為Web服務的多樣性,SAE的標準服務不可能滿足所有場景的需求,所以SAE通過服務總線來對接第三方服務(如分詞、全文檢索等),SAE也歡迎第三方服務商選擇SAE來為開發者提供服務。
真正的用户代碼是跑在SAE提供的Web運行環境下的,為了提供公有雲計算特有的安全性,SAE設計多層沙盒來保證用户應用之間的隔離性。參考下圖:
最內層的就是用户代碼,大部分PHP代碼不需要做任何修改就可以跑在SAE平台上。小部分代碼需要做一些修改以適應SAE的平台特性。這主要有,SAE因為安全性禁用了本地IO,所以fwrite等函數需要修改為使用TmpFD讀寫本地臨時文件或者直接通過Storage服務讀寫我們的分佈式文件存儲。
PHP Zend為標準的PHP官方解釋器。
SAE Zend Sandbox為一個邏輯概念,為用户的代碼運行提供良好的隔離性。這裏有兩個層面:
1、是通過標準的php.ini,我們設定了一些特殊配置和禁用函數;
2、為了達到一些php.ini無法實現的沙盒功能,我們對Zend解釋器核做了一些改進,以便通過用户標識將資源進行隔離。另外我們還把一些SAE的特定服務也在Zend層做了融合。
Apache為標準的Apache Web Server。不過我們禁用了htaccess,並提供了自己實現的替換方案AppConfig。用户可以通過類自然語言的方式編寫AppConfig,如- compress: if(out_header["Content-Length"] >= 500) compress 表示按條件啓動頁面壓縮。AppConfig提供的功能有:目錄默認頁面、自定義錯誤頁面、壓縮、頁面重定向、頁面過期、設置響應頭的content-type、設置頁面訪問權限。我們選擇自行實現AppConfig還有一個考慮,就是因為傳統Apache的htaccess因為要按目錄遞歸方式合併配置文件,效率不能滿足SAE的需求。
HTTP Server沙盒為Apache的安全可靠運行提供了多種保護功能,比如防止某個用户惡意佔用連接數從而導致整個Web服務不正常。
最外層的是標準POSIX環境,我們的服務跑在Linux上。
接着將詳細討論我們架構設計的特點。
·擴展性
擴展性是分佈式系統的兩個主要目的之一,SAE作為公有云計算,同樣把服務的擴展性作為架構設計的重要指標,要求在用户增長、壓力提升的情況下,可以實現自動的服務擴展,同樣的當壓力降低時,可以將服務收縮,以節約資源,整個過程無需人工參與。SAE人工只需做好容量規劃和管理。國外的公有云計算架構的擴展性主要有兩個思路:
靜態擴展,用户和資源有強綁定關係。最典型的例子為亞馬遜的EC2和Ruby雲計算平台Heroku,用户申請的資源和用户有嚴格的一對一關係,換句話説,A用户申請的虛擬機在A退還資源前,B用户不能使用,哪怕A用户的虛擬機處於閒置狀態。
動態擴展,用户和資源沒有強綁定關係。最典型的例子為Google App Engine,用户申請的資源和用户沒有嚴格的一對一關係,換句話説,處理A用户請求的進程在處理完之後,可以馬上處理B用户的請求。
兩種擴展性各有利弊,靜態擴展的長處是為平台提供了良好的隔離性,資源可以固定的映射在某個用户下,但缺點是資源利用率不高;動態擴展的長處是資源利用率高,這樣整個雲計算平台的成本會很低,但缺點是對隔離性有更高的要求,因為資源可以在很短的時間被多個用户使用。相比較,在安全性上,動態擴展要比靜態擴展的技術門檻更高。
在SAE平台上,我們採用以動態擴展為主,靜態擴展為輔的兼而有之的設計。在Web計算池層,是典型的動態擴展,沒有一個用户獨佔Web服務進程,而是所有用户以共享的方式使用Web服務進程,通過Cache,熱的用户自然在緩存層佔據更多的位置。而在SAE的某些服務中,擴展性又是以靜態擴展的方式展現,如RDC(Relational DB Cluster)分佈式數據庫集羣,當用户申請了MySQL服務,我們就會在RDC後端根據SLA的級別創建一主多從的DB給用户,在用户顯式的刪除該DB前,該DB都不會被別人使用。當然,通過RDC,任何一個用户也無需知道後端DB的實際地址,只需訪問RDC統一的host和port即可。
·高可靠性
HA是分佈式系統的另一個主要目的,SAE同樣以提供服務的高可靠性為架構設計的重要指標。HA的實現途徑主要有兩個,一個是硬件保證,一個是架構的冗餘設計。
在SAE平台上,所有服務器都是新浪標準採購的硬件設備,運行在國內最好機房內,並進行多機房容災,網絡資源方面則享用門户網站所使用的帶寬環境。另外,所有的硬件設備都有專門的運維部門負責,故障的響應速度和新浪內部服務一樣。
在架構設計上,SAE通過對所有服務都進行冗餘設計來提供服務的高可靠性。這裏的服務可以分成計算型和數據型兩種類別討論:
針對計算型程序,冗餘設計就是程序在多節點運行。但這樣會帶來一致性問題,最主要的困擾就是選舉問題,如何在多個節點中選出一個主節點來執行。比如SAE上的分佈式定時服務Cron,採用多點部署方式,多個計算節點相互隔離,通過時鐘同步服務同時觸發用户設定的定時任務,但要求只能有一個節點負責執行。為了解決這個問題,SAE設計出了一套分佈式鎖算法來提供選舉服務。該算法可以在犧牲某些特定條件下的一致性來提供比Paxos算法更高的可靠性(3台機器在最高任意2台機器發生故障的情況下整個選舉過程仍然正常,而Paxos算法最多容忍1台)。截止至2012年12月該算法正在申請專利,並廣泛應用在SAE內部。
針對數據型服務,SAE主要是通過複製來保證服務的高可靠性。SAE上的數據存儲服務普遍採用被動複製和主動複製兩種方式。如SAE上MySQL之間的主從Binlog同步就是典型的被動複製,TaskQueue、DeferredJob等服務也採用被動複製的方式,用户的任務描述會寫到到主內存級隊列中,主隊列利用後台線程將寫操作同步到從隊列上,一旦主隊列發生故障,從隊列會快速的切換為主隊列。另外SAE上也有部分服務採用主動複製(雙寫複製)的方式來保證HA,比如Cron,當用户通過App的工程配置文件appconfig.yaml設定定時任務時,任務信息會以雙寫的方式寫到多個持久化DB中,以供後續的到時觸發。
另外,SAE在整體架構設計時,充分考慮服務之間的“優雅降級”,儘量降低服務之間的耦合度,我們要求任何一個服務都不要假設其他服務是可靠的。SAE平台上的所有服務均不存在單點設計,服務的平均HA在99.95%,即年平均服務不可用時間在4到5個小時之間。
線路特性
·平台出口IP:
220.181.129.126
220.181.129.121
220.181.136.229
220.181.136.230
http接口方需要IP授權可以進行相應的設置。

SAE雲存儲類

編輯
MySQL:MySQL是SAE上的MySQL服務和普通MySQL服務幾乎一樣,所以如果你已經熟悉了MySQL的常規使用的話,會感到很簡單。
SAE平台為每個App幾乎支持所有的MySQL特性,以方便您用習慣的方式來操作數據庫。需要注意的是SAE的MySQL 數據庫服務需要顯式開啓或禁用。開啓MySQL數據庫服務後,您不但可以通過phpmyadmin來創建數據庫和數據表,還可以自由地導入導出數據庫中的數據。SAE的PHP環境提供了標準的MYSQL,MYSQLI和PDO模塊(基於MySQLnd),您可以直接使用這三個模塊來操作您的數據庫, 您還可以使用預定義常量來連接數據庫,我們也不排除未來調整數據庫端口的可能。另外SAE也提供了SaeMysql類,我們推薦您使用這個類來操作MySQL資源。MySQL還可以通過授權的方式支持跨應用調用,從而達到應用間數據共享和單應用多數據庫管理等目的。同時,為了防止個別用户的攻擊和濫用,SAE還設置了服務限制和配額,保證絕大多數開發者在公有云平台上的正常使用。
Storage:Storage是SAE為開發者提供的分佈式文件存儲服務,用來存放用户的持久化存儲的文件。
Storage是SAE為開發者提供的分佈式文件存儲服務,可以用來存儲持久化的文件。使用該服務用户需要先在在線管理平台創建Domain(相當於一級子目錄),創建完畢後即可在Storage進行文件的管理。 用户可以通過兩種方式操作其中的數據:一是通過cyberduck將用户文件上傳至Storage存儲中,然後通過在線管理平台將該文件導入到MySQL中;二是通過sae_std_lib下的SaeStor的API進行文件的讀寫操作。因為SAE平台限制使用本地IO,所以強烈建議開發者將所有需要持久化的文件操作都通過Storage實現。
Memcache:Memcache是SAE為開發者提供的分佈式緩存服務,用來以共享的方式緩存用户的小數據。
用户首先需要在在線管理平台上創建Memcache,然後通過標準的memcache*函數讀寫Memcache。使用Memcache服務不僅可以快速進行數據響應,而且可以減輕後端存儲的壓力。
KVDB:KVDB是SAE開發的分佈式key-value數據存儲服務,用來支持公有云計算平台上的海量key-value存儲。
KVDB支持的存儲容量很大,對每個用户支持100G的存儲空間,可存儲10億條記錄,用户可用來存放如好友關係等簡單數據。 另外,KVDB的性能和可靠性都很高,據我們內部測試,讀寫均可達到10w gps,而且KVDB採用一主多從的分佈式架構,支持KVDB的熱備和定期冷備,發生宕機時還可以自動切換到正常工作的DB上。
Counter:Counter是SAE為開發者提供的計數器服務,用來實現高併發情景下的計數功能。
Counter是SAE為開發者提供的計數器服務,用來實現高併發情景下的計數功能。用户可以在控制面板或程序中創建計數器,通過SaeCounter的API對計數器進行加減和統計設置。 Counter簡化了計數應用的開發,開發者可以輕鬆實現高併發情景下的計數功能(如兔年春晚投票、廣告渠道訪問計數等應用),同時還可以使用Counter的統計功能輕鬆實現數據彙總。
Rank:Rank排行榜服務是SAE開發的用於在分佈式環境下統計排名的服務。
Rank服務是SAE開發的用於分佈式環境下的統計排名服務,允許每個用户建立多個排行榜,其中每個排行榜都支持類似key-value的鍵值對操作。用户不僅可以以O(logn)的時間複雜度獲取指定key的排名,還可以獲取到前N名的列表(時間複雜度為O(n))。排行榜服務的特點是可靠、快速,可以用於實時排名(如遊戲積分排名、軟件下載排名),同時排行榜支持過期時間設置,這樣方便進行周排名和月排名。另外,使用排行榜服務無需通過控制面板開通或關閉,可以直接使用排行榜API操作。 特別注意:Rank服務並不存放用户的所有數據,只以一定比率的冗餘存放TopN的數據,這樣帶來一個影響,就是如果數據存在激增/減的話,可能影響排名結果的準確性。為了保證激增導致的數據準確性問題,可以定期從數據重新導入新的準確數據。

SAE雲計算類

編輯
Cron:Cron服務是SAE為開發者提供的分佈式定時服務,用來定時觸發開發者的特定動作。
Cron服務是SAE為開發者提供的分佈式定時服務,用來定時觸發開發者的特定動作(如定時計算排行榜)。Cron的設置是通過App的config.yaml來實現的,只要用户在App目錄下的config.yaml裏按照我們提供的語法格式進行配置部署後就能生效。Cron的執行是以HTTP方式觸發的,觸發後真正執行的是用户在App中的PHP代碼。Cron服務是分佈式環境部署的,具有高可靠性,多點之間相互隔離且同時觸發,並且通過分佈式鎖進行選舉並最終由一個健康節點執行。 Cron任務裏有兩類:每隔一段時間執行和特定時間執行。其中,每隔一段時間執行的任務又分為隨機偏移執行的任務和指定偏移執行的任務。這兩種任務對SAE平台的消耗不一樣,指定偏移的Cron-offset的資源消耗費用要比隨機偏移的Cron-nooffset的資源消耗費用高。此外,Cron還支持設定時間區間。
Image:Image是SAE為開發者提供的分佈式圖像處理服務,用來同步的對圖片進行CPU密集型操作。
SAE已經支持GD(利用RPC實現),用户可以使用傳統的GD函數處理圖片,照顧用户以往的使用習慣,使用户的學習成本降為零。所以我們建議用户使用gd*函數進行圖像操作,但我們仍然保留了Image服務。
特別注意:
(1)處理前單張圖片大小限制: 暫無,但處理超大圖片時,不得超過PHP的使用內存上限64M;
(2)處理後單張圖片大小限制: 4M;
(3)系統預定義字體徑:請參見擴展閲讀
FetchURL:FetchURL是SAE為開發者提供的分佈式網頁抓取服務,用來同步的抓取http頁面。
FetchURL是SAE為開發者提供的分佈式網頁抓取服務,用來同步抓取http頁面。FetchURL針對國內的網絡做了優化,優化後的網絡內部含有調度系統,用來儘可能保證用户快速的抓取到目標頁面。在SAE上使用FetchURL非常簡單,只需要調用sae_std_lib中的幾個簡單的函數即可。 SAE已經完全兼容cURL模塊(內部用FetchURL實現),所以用户可以使用cURL*函數進行HTTP請求。但需要特別注意的是,為了平台安全性,SAE對FetchURL也做了一些限制。 另外,SAE規定FetchURL的user-agent默認包含SAE/fetchurl-accesskey,其中的accesskey指的是用户的accesskey。用户可以自行添加user-agent,Referer用户也可以自行定義。
MailMail是SAE為開發者提供的分佈式郵件發送服務,用來異步發送標準SMTP郵件。
使用郵件服務後,用户只需要調用sae_std_lib中的函數即可,發送失敗時會有異步消息提醒用户。
特別注意:
(1)用户發送郵件數量:根據Mail分鐘配額,每分鐘發送郵件不超過50封,如果您短時間有大量郵件需要發送,可以 通過taskqueue分解任務完成。
(2)單封郵件總大小(含附件) 小於等於 1M
(3)用户發送的郵件不得違背國內法律法規,不得從事不良行為(如發送垃圾郵件、廣告郵件)。如發現,導致用户 郵件賬號不能使用,SAE不負責責任
(4)Mail支持SMTP,為了保證賬號安全,建議用户註冊新的專用於SAE郵件發送的Email,和日常所用賬號區分
(5)為了保證您的郵件的到達率,SAE強烈建議使用新浪免費郵箱進行郵件發送。
TaskQueue:TaskQueue是SAE為開發者提供的分佈式任務隊列服務,用來以異步HTTP方式執行用户任務。
用户需要先在在線管理平台上創建Queue,然後向Queue Push任務,放入隊列的任務隨即即會執行。TaskQueue任務的執行是以HTTP方式執行的,真正執行的是用户在App中的PHP代碼,所以最長執行時間和HTTP頁面執行時間相同。TaskQueue服務是分佈式環境部署的,具有高可靠性,每個worker相互隔離,並且主動負責任務執行。 Queue分為順序隊列和併發隊列,順序隊列的任務順序執行,而併發隊列中的任務則以並行的方式執行。用户還可以為每個Queue指定error callback url,當每個任務執行失敗時,TaskQueue自動會調用error callback url通知開發者。
DeferredJob:DeferredJob是SAE為開發者提供的分佈式重量級的長時間離線任務執行隊列。
DeferredJob
是SAE為開發者提供的分佈式離線任務執行隊列,和TaskQueue的主要區別在於TaskQueue以HTTP方式觸發,有頁面執行時間的限制;而DeferredJob是由系統級語言執行的,沒有執行時間限制。DeferredJob支持兩種方式添加任務:1、通過應用的服務管理頁面添加任務,優點是比較簡單。2、通過SaeDeferredJob Api添加任務,優點是參數豐富,可設置更多的任務參數。DeferredJob限制每天只能添加10個任務。DeferredJob只支持用户的數據庫大文件導入/導出、數據庫批量操作,將來會支持更多種的任務類。另外 ,DeferredJob服務依賴Storage來存儲導入導出的文件,使用DeferredJob前,請確保Mysql服務、Storage服務已初始化且未被禁用。

SAE功能類

編輯
AppConfig:AppConfig服務是SAE為開發者提供的對web服務器進行自定義配置的功能。
使用AppConfig開發者可以很方便的實現以下功能:自定義錯誤頁面;壓縮;頁面重定向;頁面過期;設置響應頭的content-type;設置頁面訪問權限。 AppConfig已可以完全代替htaccess的常見功能,跟htaccess相比,appconfig具有效率高和學習成本低的優點。需要特別注意的是,截止至2012年12月,SAE的AppConfig只適用PHP語言。
XHProf:XHProf是Facebook放出的輕量級調試工具.和Xdebug相比,XHProf更加易用和可控。
XHProf是Facebook開發的輕量級調試工具,和Xdebug相比,XHProf更加易用和可控。尤其是生成流程圖和調試數據對比的功能很好很強大。如果我們並不想用户每次訪問都生成調試數據,可以使用XHProf的按條件生成數據功能,一來不會降低程序的性能,二來不會浪費存儲空間。 在Alpha2中,SAE已經集成了XHProf工具,從此大家可以方便的利用XHProf進行調試了。另外調試的數據是存放在用户自己的Storage中的,所以需要在Storage中創建一個專用的domain來存放。
TmpFS:TmpFS允許開發者通過標準的IO函數臨時讀寫本地IO,這樣方便了很多非SAE項目的移植。
TmpFS功能是SAE為了解決“出於平台安全性限制用户對於本地IO的使用,但一些傳統的PHP項目會或多或少的有對本地IO的操作”的問題提出的。TmpFS允許開發者通過標準的IO函數臨時讀寫本地文件系統,這樣方便了很多非SAE項目的移植。 用户的可持久化存儲,請使用Storage或者MySQL存儲,而緩存存儲請使用Memcache服務存儲,TmpFS是滿足用户的一個請求的臨時文件的讀寫需求。比如抓取一個URL的圖片,判斷一下大小,再決定是否寫入Storage。
Wrappers:SAE提供的Wrappers主要是用來兼容本地寫操作的一些命令。
Wrappers就是用來告訴stream流該如何處理(讀寫)特定的資源。SAE為 Memcache、KVDB、Storage服務封裝了Wrapper,跟相應的服務一樣實現對特定數據的讀寫。因為SAE的Runtime環境並不提供持久化本地IO能力,所以提供的Wrappers非常方便原有程序的移植。 但需要注意的是,使用Wrappers前請先初始化相應的服務,另外畢竟Wrappers又做了一層封裝,所以在效率上肯定不如原生的接口高,而且在功能上也不如原生接口豐富。所以SAE官方推薦大家優先使用原生接口。
應用防火牆:應用防火牆保護SAE上的應用數據不被抓站,保護用户的雲豆不被惡意消耗。
應用防火牆是SAE開發的保護SAE上應用的數據不被抓站,保護用户的雲豆不被惡意消耗的服務。防火牆啓用後,將從三個層面為您的應用提供保護:第一層:白名單設置,加入白名單的IP不受訪問限制;第二層:黑名單設置,加入黑名單的IP不能訪問該應用;第三層:訪問頻率/流量設置,超過頻率或者流量設置的IP將被攔截。
應用體檢:SAE應用體檢的主要作用是幫助用户優化程序、數據庫、安全等,從而更好地為用户服務。
服務主要包括以下內容:
(1)健康體檢:掃描應用性能健康狀況(如下載速度等);
(2)安全體檢:掃描應用本身安全漏洞;
(3)應用優化:針對您應用的體檢結果,給予優化建議。
四、【擴展服務】
短信服務:新浪無線短信服務是由新浪無線提供的綜合性短信服務。
新浪無線短信服務是由新浪無線提供的綜合性短信服務。通過該服務您可以給指定的手機發短信( 支持中國移動、中國聯通、中國電信網絡,短信到達率90%以上);您發送的短信內容字數將不能超過72字(不含簽名)。 短信服務屬於收費服務,您可以使用付費雲豆購買開通使用。
計費方式説明:
1、按次計費:10雲豆/次 。 扣費規則: 每調用一次sms::send方法,且成功返回結果自動扣減10付費雲豆。 若付費雲豆不足則中止服務。
2、包月套餐扣費規則:
1) 選擇包月套餐,使用付費雲豆支付套餐費用,購買成功後扣減付費雲豆。
2) 若使用額度超過套餐限額,按照套餐約定單價,自動扣減付費雲豆。若付費雲豆不足則終止服務
3) 若套餐過期,則剩餘套餐內額度失效。
地理位置服務:地理信息服務是由SAE提供的綜合地理信息服務,屬於擴展服務。通過此服務可以查詢路線,公交,IP位置,地圖等地理位置相關的信息。
該服務分為一級、二級、三級服務,其中一級服務為免費服務,二、三級服務在一級服務的基礎上提供額外功能,且為收費服務。
二級地理信息服務(收費服務)額外提供:根據實際地址返回地理信息座標;根據地理信息座標返回實際地址;判斷地理信息座標是否是國內座標;根據GPS座標獲取偏移後的座標;根據關鍵詞按地址位置獲取POI點的信息;根據關鍵詞按座標點範圍獲取POI點的信息;根據關鍵詞按矩形區域獲取POI點的信息。
三級地理信息服務(收費服務)額外提供:根據移動WIFI等數據獲取當前位置信息;生成一張靜態的地圖圖片。
中文分詞服務:中文分詞(Chinese Word Segmentation)指的是將一個漢字序列切分成一個一個單獨的詞。+
saeSegment是由新浪愛問提供的分詞服務,是擴展服務。該服務分詞準確率高,而且可以返回給每個詞的詞性。
蛐蛐兒SDK:採用仿生學技術,利用聲音實現手機之間,或者手機與PC之間的近距離信息傳輸。通過聲音傳輸二維碼信息,用於手機之間的近距離傳輸。可用廣泛用於開發文件傳輸、社交分享、電子支付、電子門票等各類應用。 [1] 
參考資料