在移動互聯(lián)網(wǎng)時(shí)代,用戶對信息到達(dá)度的忍耐力變得越來越低,超過3秒便開始變得不安,超過7秒開始出現(xiàn)用戶流失。這種現(xiàn)象,在用手機(jī)溝通時(shí)尤為強(qiáng)烈,用戶對信息發(fā)送延遲的忍耐度是按秒計(jì)算,而信息丟失更成為一件不可以接受的事情。但是,在一秒鐘之內(nèi)成功完成一張圖片或一段文字發(fā)送,這個(gè)簡單動作的背后,技術(shù)卻做了大量的努力?赡苄枰鉀Q弱網(wǎng)環(huán)境的傳輸、網(wǎng)絡(luò)動態(tài)切換的問題、不同終端的問題等,用戶體驗(yàn)的每一小步進(jìn)步,在技術(shù)領(lǐng)域都是一個(gè)大的跨越。
6月27日,中關(guān)村Binggo Café,CSDN攜手容聯(lián)·云通訊線下沙龍就“IM 5.0時(shí)代App社交化”與開發(fā)者進(jìn)行深入的溝通與交流,共同探討移動IM背后的技術(shù)奧秘,剖析云通訊IM如何聚焦場景·連接服務(wù),對移動IM的極致化追求。
云通訊IM:聚焦場景·連接服務(wù)
容聯(lián)云通訊產(chǎn)品總監(jiān) 張靖宇以《云通訊IM:聚焦場景·連接服務(wù)》為主題,介紹了容聯(lián)云通訊的發(fā)展史,以及移動IM云通訊的基本功能和重構(gòu)之路。容聯(lián)云通訊提供五大能力集,或者五大方面的服務(wù),分別是IM通訊云、VoIP、會議(包括語音會議,視頻會議,電話會議)、短信驗(yàn)證服務(wù)、呼叫中心,所有的能力都是以API的方式提供出來,結(jié)合大家的應(yīng)用場景去調(diào)用。
張靖宇重點(diǎn)介紹了容聯(lián)云通訊IM,目前基本功能包括:設(shè)備推送功能、多終端登錄、客戶端和服務(wù)端獲取歷史記錄功能、服務(wù)端發(fā)送廣播消息和推送設(shè)備以及數(shù)據(jù)統(tǒng)計(jì)等。
容聯(lián)云通訊產(chǎn)品總監(jiān) 張靖宇
在4.0接入易用性優(yōu)化之后,容聯(lián)對整套架構(gòu)進(jìn)行了重構(gòu)。然而,與傳統(tǒng)通訊不同的是,移動通訊包含了弱網(wǎng)絡(luò)、網(wǎng)絡(luò)動態(tài)切換、流量及耗電敏感、終端差異等問題,這也就表示,在對架構(gòu)進(jìn)行重新設(shè)計(jì)并開發(fā)時(shí),必須解決是否使用消息中間件、數(shù)據(jù)庫選擇、狀態(tài)同步、設(shè)備推送以及不丟消息。
在進(jìn)行重構(gòu)時(shí),容聯(lián)設(shè)定了快、省、穩(wěn)的目標(biāo),這是所有開發(fā)者最關(guān)心的問題。首先,登陸、發(fā)送消息要快,對此,容聯(lián)分別采用了無DNS設(shè)計(jì)、后臺輪詢測速、無注冊流程、兼容用戶賬號體系,以及小包體協(xié)議、多媒體消息通道復(fù)用、push-pull系統(tǒng)架構(gòu)來解決;其次,省電、省流量,容聯(lián)采用ProtoBuffer+自定義協(xié)議、壓縮機(jī)制、智能多包合并、包體精簡、重連優(yōu)化等技術(shù)手段來實(shí)現(xiàn)流量優(yōu)化,并在省電方面運(yùn)用網(wǎng)絡(luò)+服務(wù)端動態(tài)調(diào)整、1個(gè)字節(jié)的心跳包和心跳空閑機(jī)制。此外,以多段ACK確認(rèn)、永久化存儲、排序隊(duì)列控制來邏輯保證不丟消息。
IM的技術(shù)與價(jià)值
分享完容聯(lián)云通訊的發(fā)展、核心功能以及重構(gòu)之后,在移動通訊行業(yè)擁有10年經(jīng)驗(yàn)的益動思博科技CTO 袁秋波發(fā)表演講,闡述IM的技術(shù)與價(jià)值。IM主要包括三種實(shí)現(xiàn)方式,分別為XMPP、第三方服務(wù)和二進(jìn)制,開發(fā)者該如何進(jìn)行技術(shù)選型?袁秋波就其優(yōu)缺點(diǎn)以及使用案例進(jìn)行了詳細(xì)講解。
- XMPP:開源實(shí)現(xiàn)多,可進(jìn)行二次開發(fā),不需要自己實(shí)現(xiàn)協(xié)議,但占用網(wǎng)絡(luò)資源多。
- 第三方服務(wù):可直接使用,快速實(shí)現(xiàn)產(chǎn)品,節(jié)省資源,但不易于擴(kuò)展,其服務(wù)穩(wěn)定性依賴于第三方。
- 二進(jìn)制:傳輸效率高,省流量,但耗時(shí)耗力,不易于維護(hù)。
益動思博科技CTO 袁秋波
在演講中,袁秋波對基于XMPP協(xié)議的IM整體架構(gòu)進(jìn)行了剖析。XMPP可擴(kuò)展消息與存在協(xié)議在早期時(shí)是以Jabber協(xié)議為基礎(chǔ)的,后期又進(jìn)行了一些擴(kuò)展,在XMPP服務(wù)器開源框架方面,現(xiàn)在比較主流的有OpenFire、Ejabberd和Tigase等。OpenFire基于Mina框架實(shí)現(xiàn),擁有著成熟穩(wěn)定、插件多、易集群等優(yōu)點(diǎn),Ejabberd基于Erlang語言實(shí)現(xiàn),高并發(fā)但學(xué)習(xí)成本高,不易于擴(kuò)展。
袁秋波以O(shè)penFire為例對XMPP進(jìn)行了詳細(xì)講解,OpenFire自帶數(shù)據(jù)庫及用戶認(rèn)證機(jī)制,但無法滿足項(xiàng)目中的用戶認(rèn)證要求,因此,通過配置及插件的方式修改OpenFire的用戶認(rèn)證機(jī)制,實(shí)現(xiàn)OpenFire訪問數(shù)據(jù)庫或用戶鑒權(quán)API。對于文本、圖片以及非實(shí)時(shí)語音和視頻內(nèi)容可直接使用XMPP的message節(jié)點(diǎn)進(jìn)行傳輸:
歡聲笑語共論IM技術(shù)
在演講及Q&A環(huán)節(jié)中,還穿插著兩次紅包抽獎(jiǎng)活動以及短暫茶歇。參會者在享用各式各樣的美味點(diǎn)心、猛戳手機(jī)屏幕參與抽獎(jiǎng)的同時(shí),相互之間進(jìn)行溝通,有些參會者還將自己在IM實(shí)踐中遇到的問題與講師進(jìn)行交流,更有美女聽眾手寫筆記,現(xiàn)場充滿著溫馨濃厚的交流氛圍。