天天看點

OneSDK與手機淘寶技術能力開放

該文章來自阿裡巴巴技術協會(ata)精選集 

OneSDK與手機淘寶技術能力開放

7月16日,阿裡巴巴集團在杭州召開阿裡百川無線開放大會,來自阿裡巴巴的技術專家向與會觀衆介紹了百川無線開放背後的技術細節。

阿裡百川阿裡巴巴集團無線開放平台,為移動開發者(涵蓋移動創業者)提供快速搭建app、加速app商業化、提升使用者體驗的解決方案。在阿裡百川無線開放大會的技術專場,阿裡技術專家分享了關于tae 2.0、openim、移動安全等方面的技術細節,infoq之前已對tae和openim的技術負責人做過采訪,今天就讓我們來了解一下阿裡百川無線開發sdk以及手機淘寶技術能力開放。

onesdk:元件式架構解決sdk內建問題

阿裡巴巴共享業務事業部的進階無線技術專家王玉明給大家分享了阿裡百川的開放sdk技術:onesdk,緻力于解決大量sdk帶來的內建問題。

對于目前的移動開發來說,諸如推送、im、廣告、統計等功能,開發者自己開發耗時耗力,使用第三方服務是明智選擇,而使用這些服務都會用到它們提供的sdk。是以除了少數應用外,大量使用第三方sdk是不可避免的趨勢。

但是,随着大量第三方sdk的使用,一些問題也慢慢暴露出來,比如:

多平台。不同的app管理體系,多個密鑰帶來的安全問題,以及多次接入帶來的內建成本。

多風格。不同sdk的初始化方法、接口标準,以及程式設計風格。

複雜依賴。不同sdk本身的依賴不同,會帶來依賴關系混亂,版本沖突,以及引入不需要的依賴的問題。

包大小。由于不同sdk可能包含重複能力,帶來重複依賴,以及不需要的資源導入,會帶來包大小的超标。

阿裡百川因為同時開放了很多服務,會帶來很多sdk,是以它推出了onesdk來解決這個問題。使用onesdk,開發者隻需要下載下傳一個sdk包,一次接入動作,一個初始化入口即可完成內建,為開發者帶來一緻性的體驗。

在架構上,onesdk分為業務元件、技術元件群組件容器。業務元件包括淘寶電商、雲賬号、opencrm等。技術元件包括推送、多媒體雲、通訊、安全、 cache、網絡等。元件容器包括總線、元件管理、系統服務三大類。其中最關鍵的是元件管理,包括元件發現、依賴管理以及生命周期管理功能,通過這些功能 實作sdk的元件化。

onesdk通過統一接入層與百川雲服務進行互動,統一接入層包括網關、cdn、im、資料同步等,因為涉及到多個業務,統一接入層是由淘寶和阿裡雲聯手打造,并支撐多次雙十一,在安全方面,能做到全鍊路加密和會話級安全,并且進行了無線網絡、流量、電量等優化,讓sdk更高效。

另外,onesdk還接入了阿裡百川的統一支撐體系,包括自動降級、監控支撐、修複響應等,加強sdk的穩定性和處理能力。其中onesdk還接入了crash監控,能監控并統計應用的crash資訊。

onesdk還接入了高德、友盟等第三方sdk,并同樣的提供一緻體驗,開發者隻需選擇想要使用的sdk即可生成最小化的sdk包。

onesdk所接入的服務和能力中還包括了手機淘寶所開放出來的能力,手機淘寶經過多年架構演進也積累了很多經驗,這次技術分享上,手淘也分享了它們開放出來的能力。

手機淘寶技術能力開放

阿裡巴巴無線事業部總監吳志華給大家分享了手機淘寶技術能力開放的話題,包括手機淘寶的架構治理、移動網絡建設、重點元件産品介紹等。

移動開發技術已經經過了10年發展。從2005年的kjava為代表的單程序技術,到2008年symbian的應用級動态部署,再到2010年左右以ios/android為代表的多程序,其後湧現出來的程序級動态部署的插件化,以及2014年到如今的容器級動态部署。

淘寶從2009年開始關注移動端,先後經曆了wap、mobile web,到api網關、html5容器,以及2014年的容器架構。經曆了很長時間的架構治理之路。在2013年淘寶對移動實行all in戰略之後,手機淘寶開始反思用戶端app架構該如何設計,以及如何應對大量業務同時湧入、超10個團隊的代碼整合等問題。他們思考的結果就是一切皆組 件(bundle),bundle裝載在容器裡,任一bundle均可以動态部署,阿裡無線終端容器架構(altas),管理元件生命周期,提供元件運作 必須服務,實作元件間環境隔離、權限控制、運作期性能監控等功能。另外,在基礎架構演進、工具體系完善、研發機制變革上,手機淘寶也做了許多工作。

OneSDK與手機淘寶技術能力開放

(手機淘寶容器架構)

關于手機淘寶用戶端架構演進,阿裡無線技術專家李敏在2014年archsummit北京上做過分享,infoq也做過詳細報道,感興趣的可以檢視,這裡就不再贅述。

在 移動網絡建設上,手機淘寶采用了spdy協定來降低延遲,加速資料傳輸,并且上馬了異地多活與容災措施以保障業務的高可用性。另外還推出了有特色的移動雲 通道服務,該架構有高實時高到達率雙向通道、海量長連接配接的接入層服務aserver、使用無線特色的tls加密協定slight ssl 0rtt、靈活的網絡排程功能(amdc)等特點。

在手機淘寶技術能力開放方面,他們對手機淘寶的能力做了一個全面梳理,分為基礎研發平台、基礎服務能力、無線電商能力三部分。其中基礎研發平台包括研發支撐、運維平台、容器架構、 hotpatch、push和資料統計等,基礎服務包括網絡通道服務、多媒體服務、安全、算法能力等,無線電商能力則是淘寶相對于其它第三方開發者服務特 有的能力,包括交易元件、店鋪對外開放等。

在開放出來的技術能力中重點的元件産品有:

crash上報能力,支援ndk c/c++ crash上報和分析,并提供實時監控平台,分析crash趨勢并告警。

性能栅欄,通過aop注入方式,進行非侵入式的性能監控。收集的性能指數包括繪圖性能(幀率、anr、view層級)、記憶體性能(記憶體洩露、 oom、記憶體占用)、耗電分析、網絡性能、排程性能(非線程池中thread對象的監控)、代碼缺陷(開啟嚴格模式并收集代碼缺陷)。

agoo推送,業内領先的單台伺服器建鍊400萬,同時線上長連接配接1.2億+,接入集團内部應用,經曆了3次雙十一。并且支援消息盒子和國際化。

webp/bpg,手淘使用webp和bpg減小圖檔尺寸,優化解碼性能。

另外,手機淘寶還在内部推動一些通用底層技術的開源,在最近開源了其hotpatch技術:無侵入aop架構dexposed,infoq對其有過報道,将來手淘還會開源其用戶端容器架構atlas。

從上面我們可以看到,阿裡百川的确是以技術作為驅動,輸出自己的技術能力幫助開發者和移動創業者走向成功,而開放的心态,将幫助它走得更遠。

原文系infoq報道。

mtt是手機淘寶技術團隊(mobile taobao tech team)的英文縮寫,歡迎關注手機淘寶技術團隊,一起交流分享無線技術,共創移動開發無限未來!掃描微信二維碼關注我們!我們将分享更多的獨家技術細節!

OneSDK與手機淘寶技術能力開放