互聯(lián)網(wǎng)下半場(chǎng),抓住入口的關(guān)鍵在于……

作者 | 李響 (大數(shù)網(wǎng)副主編)

夢(mèng)想主義者 微信|mixture99

很多時(shí)候,即時(shí)通訊服務(wù)就像是一個(gè)黑盒子,我們知道它能解決什么問(wèn)題,卻不清楚它是怎么做到的。

IM有多重要?來(lái)看一組數(shù)據(jù):94%的用戶每天登錄微信,61%的用戶每天打開(kāi)微信超過(guò)10次,每天超過(guò)30次的重度用戶占36%;使用時(shí)長(zhǎng)方面,55%用戶每天使用微信超過(guò)1小時(shí),使用時(shí)長(zhǎng)超過(guò)2小時(shí)的用戶占比32%,無(wú)論使用頻率還是時(shí)長(zhǎng),微信都表現(xiàn)出了強(qiáng)大的用戶粘性。

其實(shí),在微信之外,我們?nèi)匀粫r(shí)時(shí)處處享受著IM帶來(lái)的好處。

比如,年初一個(gè)朋友厭倦了辦公室生活,辭掉工作干淘寶了,為了招攬生意,更多時(shí)候她夜里不睡,忙著直播,完全是一個(gè)小網(wǎng)紅。她很認(rèn)真地跟我說(shuō),剛開(kāi)始直播的時(shí)候,拿著自家的衣服不知道要說(shuō)什么,尷尬癌都要犯了,幸好觀眾可以直接提問(wèn),她看到了就按照客人的要求,展示商品細(xì)節(jié),慢慢地有一些粉絲還會(huì)在直播里給她送花送禮物,她竟然愛(ài)上了這種方式——不管是幾十萬(wàn)人還是幾十人觀看,沒(méi)有IM帶來(lái)的鮮花彈幕,直播得有多無(wú)趣?

又比如,我們最常使用的電商,過(guò)去需要啟動(dòng)單獨(dú)的PC客戶端,和商家溝通,遇到售后問(wèn)題或者比較著急的情況,就只能通過(guò)電話溝通。而進(jìn)入移動(dòng)時(shí)代,移動(dòng)IM讓溝通前所未有地便捷,隨時(shí)隨地都可以和商家聯(lián)系,售后對(duì)商品或交易有問(wèn)題,可以隨時(shí)拍照上傳,分分鐘就能解決。

其實(shí)在很多移動(dòng)場(chǎng)景,IM都扮演著重要的角色。比如熱門(mén)的醫(yī)療、教育類(lèi)應(yīng)用,想象一下如果沒(méi)有IM,體驗(yàn)得變得多差?病人描述病情,向醫(yī)生提問(wèn),第二天才能收到答復(fù),還很有可能是醫(yī)生對(duì)病情的追問(wèn),來(lái)來(lái)回回半天,病人還不如去醫(yī)院;學(xué)生寫(xiě)作業(yè),遇到不會(huì)的問(wèn)題,上網(wǎng)找個(gè)老師問(wèn)一下,可是不能及時(shí)回復(fù),第二天該交作業(yè)了,題還是解不出,這樣的應(yīng)用豈不是丟了幫助病人和學(xué)生的初衷?

移動(dòng)時(shí)代,即時(shí)通訊早就成了剛需,是最通用、最活躍的入口級(jí)應(yīng)用。在產(chǎn)品開(kāi)發(fā)節(jié)奏加速和IM技術(shù)難度大的雙重作用下,能同時(shí)做到穩(wěn)定、高并發(fā)、高可用是移動(dòng)IM云服務(wù)平臺(tái)的關(guān)鍵,而對(duì)此,網(wǎng)易云信已經(jīng)潛心研究了16年。

分層架構(gòu),確保平臺(tái)穩(wěn)定和高可用

對(duì)絕大多數(shù)開(kāi)發(fā)者來(lái)說(shuō),采用高質(zhì)量的云平臺(tái)方案嫁接IM功能,是最高效且最經(jīng)濟(jì)的選擇??雌饋?lái)簡(jiǎn)單的IM消息,其實(shí)背后的要求很高。首先就是要確保即時(shí)性,新消息能夠立即收到或者立即推送后臺(tái)通知;同時(shí)通信必須穩(wěn)定可靠,系統(tǒng)不宕機(jī),程序不崩潰,傳遞消息時(shí)不會(huì)被攔截監(jiān)聽(tīng),消息不丟、不亂、不重復(fù)。如果包含音視頻聊天,還要求延遲低、流暢不卡頓。

網(wǎng)易云信首席架構(gòu)師周梁偉演講

為確保服務(wù)的穩(wěn)定性,據(jù)網(wǎng)易云信首席架構(gòu)師周梁偉介紹,云信的IM云架構(gòu)將整個(gè)系統(tǒng)分成了客戶端SDK層、連接層、路由層和業(yè)務(wù)層,并在各層之間都提供良好的彈性擴(kuò)容能力和業(yè)務(wù)隔離能力。

云信的整體IM云架構(gòu)

在穩(wěn)定性方面,運(yùn)行客戶端SDK層能夠適配安卓、iOS、Windows PC桌面端、web頁(yè)面端和嵌入式設(shè)備等多種開(kāi)發(fā)平臺(tái),并采用長(zhǎng)連接機(jī)制,以SDK+心跳的方式監(jiān)測(cè)短線和自動(dòng)做重連,同時(shí)針對(duì)移動(dòng)網(wǎng)絡(luò)弱網(wǎng)環(huán)境,進(jìn)行大量?jī)?yōu)化,保證穩(wěn)定性。而針對(duì)不同設(shè)備端平臺(tái),運(yùn)行采用不同協(xié)議,能夠完美解決兼容性問(wèn)題。

在可用性方面,云信在客戶端與服務(wù)器之間采用長(zhǎng)連接優(yōu)化,不僅可支持平滑升級(jí)、跨網(wǎng)絡(luò)切換、廣播分包等,而且極大提升了消息上下行的速度,并在數(shù)據(jù)傳輸過(guò)程中,對(duì)數(shù)據(jù)包壓縮傳輸,提升消息收發(fā)的速度。在接入網(wǎng)關(guān)的選擇策略中,通過(guò)并行來(lái)提升連接建立的速度,并借助LBS服務(wù),幫助客戶端尋找到最適合的網(wǎng)關(guān)接入點(diǎn)。

除此之外,云信集成了網(wǎng)易自研的分布式數(shù)據(jù)庫(kù),分布式緩存和對(duì)象存儲(chǔ)服務(wù)等基礎(chǔ)平臺(tái),使云信在面對(duì)業(yè)務(wù)擴(kuò)容需求時(shí)更加從容。并且對(duì)所有在公網(wǎng)傳輸?shù)臄?shù)據(jù)都進(jìn)行了加密壓縮,能夠有效防止中間人攻擊和數(shù)據(jù)包回放等攻擊手段,確保通信過(guò)程中的信息安全。

連接層管理優(yōu)化,支持千萬(wàn)級(jí)高并發(fā)

在點(diǎn)對(duì)點(diǎn)通信之外,IM更大的場(chǎng)景還在于群體并發(fā)溝通。

今年中秋,某衛(wèi)視通過(guò)掃描二維碼的方式進(jìn)行觀眾互動(dòng),觀眾掃描后可以發(fā)布消息,也能與其他評(píng)論觀眾互動(dòng)。電視晚會(huì)覆蓋全國(guó)上千萬(wàn)觀眾,參與二維碼掃描的活躍人數(shù)超過(guò)50萬(wàn),并發(fā)在線人數(shù)達(dá)到10萬(wàn)以上,廣播消息的峰值也維持在每秒1000萬(wàn)以上。這是典型的突發(fā)高流量場(chǎng)景,任何的慢和卡頓都會(huì)直接影響活動(dòng)效果。

相似的情況還有在線秀場(chǎng)的直播,不同于晚會(huì),直播平臺(tái)會(huì)同時(shí)有成百上千個(gè)直播間,而且單個(gè)房間的同時(shí)在線人數(shù)從幾十人到上千萬(wàn)不等用戶活躍行為既有突發(fā)性,也有明顯的持續(xù)性。

這是多大的挑戰(zhàn)?

IM點(diǎn)對(duì)點(diǎn)的消息分發(fā)模式非常依賴用戶的在線狀態(tài)。在消息分發(fā)過(guò)程中,假設(shè)一次在線狀態(tài)的查詢需要10ms,如果有100人發(fā)送消息,僅查詢?cè)诰€狀態(tài)的開(kāi)銷(xiāo)就要1秒鐘,而這個(gè)時(shí)間開(kāi)銷(xiāo)還會(huì)隨著消息接收人數(shù)的增加而成倍遞增,再加上中間消息包的網(wǎng)絡(luò)分發(fā)開(kāi)銷(xiāo),消息處理的時(shí)間很快就會(huì)到達(dá)瓶頸。在多人聊天室場(chǎng)景下,這個(gè)問(wèn)題就尤為突出。

“穩(wěn)定、安全、快速是云信的三個(gè)關(guān)鍵詞,而消息快速到達(dá)的前提,是客戶端和服務(wù)器之間穩(wěn)定、快速的連接,所以連接層可以理解為奠定云信服務(wù)穩(wěn)定性的基石。”周梁偉說(shuō),為此,云信針對(duì)連接層進(jìn)行了三大優(yōu)化:

優(yōu)化一,通過(guò)邊緣節(jié)點(diǎn)優(yōu)化網(wǎng)絡(luò)拓?fù)?。鑒于IM對(duì)網(wǎng)絡(luò)質(zhì)量的敏感特性,目前,網(wǎng)易云信在美國(guó),歐洲、中東和東南亞等很多國(guó)家和地區(qū)都提供了區(qū)域性的邊緣加速節(jié)點(diǎn),大幅提升連接的穩(wěn)定性和速度。通過(guò)優(yōu)化,客戶端到IDC中心的速度提升60%,消息丟失率也從之前的20%+降低到0%。

優(yōu)化二,場(chǎng)景化的消息分發(fā)機(jī)制提升吞吐率。針對(duì)高并發(fā)的聊天室場(chǎng)景,網(wǎng)易云信實(shí)現(xiàn)了一種消息分發(fā)的廣播模式。比如100萬(wàn)人的聊天室,所有用戶分布在10個(gè)連接節(jié)點(diǎn)上,一條廣播消息在分發(fā)過(guò)程中只需要查詢一次在線狀態(tài),而且不同的節(jié)點(diǎn)之間完全可以并行處理。這使得一個(gè)百萬(wàn)量級(jí)的消息分發(fā)可以秒級(jí)處理完成,有效控制了消息到達(dá)的延時(shí)情況。

也正是因此,網(wǎng)易云信在中秋晚會(huì)中,僅需分配6臺(tái)云主機(jī)就能夠承載晚會(huì)的全部觀眾互動(dòng)。而在直播平臺(tái),10臺(tái)云主機(jī)為能夠承載超過(guò)百萬(wàn)的單日活躍人數(shù)和超過(guò)2億的單日消息總理,以及10萬(wàn)人以上的并發(fā)在線用戶數(shù)峰值。

優(yōu)化三:集群化解決單節(jié)點(diǎn)性能瓶頸。通過(guò)組建集群來(lái)對(duì)業(yè)務(wù)處理能力做水平擴(kuò)展是云信常用的一種方法。網(wǎng)易云信使用nginx作為前端代理,并把SSL的處理過(guò)程移到了nginx上,并使用性能較好的服務(wù)器來(lái)做nginx代理服務(wù),而在后端WebLink上直接使用http協(xié)議,極大提升了后端節(jié)點(diǎn)的處理能力。通過(guò)這種代理方式,在4核8G的虛擬機(jī)上,單個(gè)節(jié)點(diǎn)的承載能力從1萬(wàn)連接數(shù)飆升至10萬(wàn)。

專(zhuān)業(yè)的運(yùn)維和行業(yè)服務(wù)能力

從2015年10月上線至今,網(wǎng)易云信已成功接入超過(guò)15萬(wàn)APP開(kāi)發(fā)者,覆蓋用戶達(dá)到驚人的5億以上。在網(wǎng)絡(luò)和區(qū)域上面覆蓋了196個(gè)國(guó)家,567個(gè)地區(qū),并保證100%的送達(dá)率。除此之外,還獲得了國(guó)內(nèi)即時(shí)通訊云服務(wù)領(lǐng)域的首個(gè)CSA-STAR,ISO27001認(rèn)證和ITSS云計(jì)算服務(wù)能力增強(qiáng)級(jí)認(rèn)證,并已擁有56項(xiàng)認(rèn)證專(zhuān)利。

顯然,作為移動(dòng)IM云服務(wù)平臺(tái),網(wǎng)易云信并沒(méi)有將自身定位為狹義上的社交工具,而是一個(gè)OTT服務(wù),以IM為切入口,為用戶提供一個(gè)可以實(shí)現(xiàn)任何意義上連接服務(wù)的管道,而這個(gè)服務(wù)可以是電商、社區(qū)、也可是教育平臺(tái)等。

在“管道”這個(gè)基礎(chǔ)設(shè)施之上,云信平臺(tái)服務(wù)更加看重易用性和穩(wěn)定性。為此,云信團(tuán)隊(duì)從網(wǎng)易研究院和易信服務(wù)中,總結(jié)了16年的技術(shù)沉淀,以及基礎(chǔ)設(shè)施的搭建和過(guò)億用戶產(chǎn)品的線上運(yùn)維經(jīng)驗(yàn)和實(shí)踐,保障有效的應(yīng)對(duì)各類(lèi)突發(fā)問(wèn)題,讓平臺(tái)更加穩(wěn)定可靠。

同時(shí),云信提供更為專(zhuān)業(yè)的“T服務(wù)”,包含網(wǎng)易云信技術(shù)顧問(wèn)服務(wù)體系、客戶顧問(wèn)服務(wù)體系、用戶信任服務(wù)體系三大塊,一站式快速響應(yīng)和解決開(kāi)發(fā)者和用戶的問(wèn)題,是業(yè)內(nèi)唯一一家提供1對(duì)N、7X24小時(shí)即時(shí)響應(yīng)技術(shù)支持服務(wù)的團(tuán)隊(duì),并為客戶提供專(zhuān)業(yè)的技術(shù)培訓(xùn)服務(wù)。而在用戶信任體系中,網(wǎng)易云信不僅提供故障賠償、郵件短信雙重預(yù)警、1月信用額度等保障服務(wù),還特別成立了網(wǎng)易云信用戶信任中心,把產(chǎn)品升級(jí)、專(zhuān)利技術(shù)、第三方機(jī)構(gòu)云認(rèn)證等方面的信息同步公示給用戶。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2016-12-13
互聯(lián)網(wǎng)下半場(chǎng),抓住入口的關(guān)鍵在于……
是IM。

長(zhǎng)按掃碼 閱讀全文