網(wǎng)易云信CTO 闕杭寧

當(dāng)前,越來越多的創(chuàng)業(yè)者和傳統(tǒng)企業(yè)都在為爭取乘上時代大勢的順風(fēng)車而紛紛發(fā)力和轉(zhuǎn)型,而即時通訊云及其衍生的各種微服務(wù)已經(jīng)逐漸成為這股浪潮中的剛性需求。也因此,近年在互聯(lián)網(wǎng)科技領(lǐng)域,誕生了一批提供即時通訊云服務(wù)的專業(yè)平臺。這種以幫助客戶通過集成客戶端SDK和云端OPEN API,實現(xiàn)快速接入即時通訊功能,降低客戶人力、物力成本的業(yè)務(wù)模式,成為了云服務(wù)領(lǐng)域又一個新藍(lán)海。

即便業(yè)內(nèi)早已對即時通訊云服務(wù)的光明前景有所預(yù)見,但剛涉入一年后的網(wǎng)易云信,發(fā)展速度令人側(cè)目。從2015年10月13號上線至今,網(wǎng)易云信已成功接入10萬+APP開發(fā)者,覆蓋用戶達(dá)到驚人的4億+;在網(wǎng)絡(luò)和區(qū)域上面覆蓋了196個國家,567個地區(qū)。除此之外,還獲得了國內(nèi)即時通訊云服務(wù)領(lǐng)域的首個CSA-STAR和ISO27001認(rèn)證,并已擁有56項認(rèn)證專利。

闕杭寧表示,進入移動互聯(lián)網(wǎng)時代的即時通訊面臨著極其復(fù)雜的環(huán)境因素,譬如移動信號的強弱、連接狀態(tài)的關(guān)注點、移動終端的流量及電量的敏感性,還有不同操作系統(tǒng)平臺甚至不同版本的系統(tǒng)ROM造成的運行環(huán)境的復(fù)雜性,等等。

2

這些外部的錯綜復(fù)雜的因素,這即時通訊研發(fā)提出了挑戰(zhàn),主要表現(xiàn)在:技術(shù)難度大,整體開發(fā)和調(diào)優(yōu)周期較長,即時通訊研發(fā)的細(xì)節(jié)業(yè)務(wù)較多,對線上環(huán)境的維護復(fù)雜度越來越高。而且即時通訊云服務(wù)不是面向某一個軟件,或某一個平臺提供服務(wù),而是會有上萬甚至更多的軟件,接入客戶的用戶量的增長都會帶來用戶量級的增長,而且用戶分布及其手機環(huán)境更是異常復(fù)雜。即時通訊云服務(wù)商會面對更大的數(shù)據(jù)量級,要求更全的網(wǎng)絡(luò)覆蓋和更高的兼容性應(yīng)對,需要處理更復(fù)雜的業(yè)務(wù),也有更快的擴容速度要求,還包括不同應(yīng)用之間的隔離。

那么,網(wǎng)易云信是如何以“后來者”的身份在這一領(lǐng)域成為“闖局者”?

闕杭寧說:“要想做好即時通訊研發(fā),就要抓住3個核心關(guān)鍵點:連接管理、業(yè)務(wù)協(xié)議和高并發(fā)高可用的需求。在此基礎(chǔ)上,作為IM云服務(wù)商,云信最關(guān)注的核心維度其實是兩件事情:第一是穩(wěn)定;第二是實時性?!?/p>

網(wǎng)易云信致力于打造“真正穩(wěn)定的IM云服務(wù)”。資源和競爭是云服務(wù)的核心,在資源保障上,云信目前生產(chǎn)環(huán)境全部構(gòu)建在網(wǎng)易云上,通過網(wǎng)易蜂巢的容器技術(shù),可以快速的在生產(chǎn)環(huán)境資源上創(chuàng)建新的運行節(jié)點和部署服務(wù)鏡像,做到分鐘級的擴容。在容量水位監(jiān)控下,通過蜂巢API,做了一定容量自動伸縮策略。

在不同應(yīng)用的資源競爭應(yīng)對上,一方面是上述的容量水位監(jiān)控自適應(yīng)調(diào)整算法和自動伸縮機制來確保足夠容量來保障競爭的溫和,另一方面通過在微服務(wù)架構(gòu)上再演進了一步,通過自適應(yīng)協(xié)議路由來提供單元化服務(wù)域。應(yīng)對不同的業(yè)務(wù)服務(wù)單元需求,通過不同的微服務(wù)模塊與容量規(guī)格配比,組合成獨立的服務(wù)域,將特殊的應(yīng)用域進行隔離,一方面可以確保高運維可用率要求的服務(wù)不受其他服務(wù)干擾,另一方面可以將有意外狀況的應(yīng)用快速隔離至獨立的服務(wù)域,避免對其他服務(wù)的入侵。

3

對于實時性,闕杭寧認(rèn)為:“這是即時通訊的本質(zhì)需求,也是其最具有競爭力的一個價值所在”。實時性的技術(shù)本質(zhì)是網(wǎng)絡(luò)拓?fù)浣ㄔO(shè)的優(yōu)化、網(wǎng)絡(luò)鏈路調(diào)度的優(yōu)化,以及消息路由投遞的效率優(yōu)化三個方面。

在移動互聯(lián)網(wǎng)的特殊網(wǎng)絡(luò)環(huán)境下,要確保通信的穩(wěn)定可靠,消息送達(dá)的準(zhǔn)確率,乃至音視頻通訊的低延遲并非易事。千奇百怪的網(wǎng)絡(luò)環(huán)境下,往往有很多問題,例如不可控的客戶端網(wǎng)絡(luò)無法由單一的網(wǎng)絡(luò)入口滿足,“弱網(wǎng)”條件不可避免,如何保持連接和使用。如何突破重圍,闕杭寧分享了網(wǎng)易云信的解決策略:用更可靠的服務(wù)端網(wǎng)絡(luò)代替部分特殊客戶網(wǎng)絡(luò);優(yōu)化連接探活和重連效率;精簡數(shù)據(jù)包大小,增強對弱網(wǎng)的支持。

以云信打造“延遲0容忍”的實時互動音視頻為例,為保證實時互動業(yè)務(wù)的低延遲和數(shù)據(jù)時效性,首先網(wǎng)絡(luò)調(diào)度調(diào)優(yōu),其次適配不同的網(wǎng)絡(luò)情況推出自研的抗抖動算法和動態(tài)碼率,值得一提的是自研的抗抖算法,在借鑒優(yōu)秀開源算法的基礎(chǔ)上進行深入優(yōu)化與融合,并投入了大量的測試做參數(shù)校準(zhǔn),不同丟包、延遲條件下,通過人耳感受流暢程度來獲取較優(yōu)體驗下的不同參數(shù)規(guī)格,可以解決在800ms的網(wǎng)絡(luò)抖動引起的通話卡頓、與延時累計問題。

而網(wǎng)易云信“無人數(shù)上限”的直播聊天室采用了四層分層架構(gòu),客戶端SDK層:SDK多平臺適配、移動弱網(wǎng)絡(luò)優(yōu)化、安全加密壓縮。網(wǎng)關(guān)接入層:長連接管理優(yōu)化、支持平滑升級、支持跨網(wǎng)絡(luò)切換、廣播分包。路由層:把網(wǎng)關(guān)接入層收到的客戶端請求,通過路由層來做到后面的具體業(yè)務(wù)微服務(wù)。業(yè)務(wù)層:來處理具體的聊天室業(yè)務(wù)請求,并返回結(jié)果。

在技術(shù)上,網(wǎng)易云信一直堅持強化穩(wěn)定和實時性核心優(yōu)勢,潛心強化內(nèi)功,小到一個參數(shù),大到整體的架構(gòu)設(shè)計,對所有細(xì)節(jié)不斷打磨和優(yōu)化。在過去一年里,云信所取得的成績與這份“匠心”密不可分。

 

 

分享到

zhoub

相關(guān)推薦