自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

容聯云通訊張靖宇:重構架構 IM5.0將更快、更省、更穩(wěn)

原創(chuàng)
移動開發(fā)
業(yè)內人士認為,XMPP協(xié)議作為PC互聯網時代IM通信的標準,已經不能適應移動互聯網的發(fā)展。正如此,傳統(tǒng)的IM產品也必將有所改變,才能適應移動網的發(fā)展。什么樣的IM產品最契合移動互聯網?近日,容聯云通訊宣布,針對移動互聯網的需求,重構架構,發(fā)布IM5.0。51CTO專訪容聯云通訊產品總監(jiān)張靖宇,解讀移動互聯網時代的云通訊IM產品。

隨著4G網絡和無線大面積覆蓋,移動互聯網迅速壯大,我們的通訊方式已經發(fā)生了巨大的改變。移動端已經逐漸替代PC端,成為最主要的通訊載體。

業(yè)內人士認為,XMPP協(xié)議作為PC互聯網時代IM通信的標準,已經不能適應移動互聯網的發(fā)展。正如此,傳統(tǒng)的IM產品也必將有所改變,才能適應移動網的發(fā)展。

什么樣的IM產品最契合移動互聯網?近日,容聯云通訊宣布,針對移動互聯網的需求,重構架構,發(fā)布IM5.0。51CTO專訪容聯云通訊產品總監(jiān)張靖宇,解讀移動互聯網時代的云通訊IM產品。

記者:容聯云通訊IM的基本功能有哪些?

張靖宇:云通訊平臺是一個全通訊能力的平臺,圍繞通訊的各個環(huán)節(jié)都有產品。IM只是其中一項?;竟δ苡校簡瘟?,是指點對點之間的功能,支持文本、語音、圖片、附件、表情的發(fā)送,支持已發(fā)送的消息回執(zhí),發(fā)送的概念是指你發(fā)送一個消息,發(fā)送到服務端了,服務端會給你確認,說這個消息服務端已經收到了;群聊功能,支持2000人的群組,一個群組可以加入2000人,每個人可以加入500個群組。支持私有群組和公開群組;設備推送功能;服務器發(fā)送廣播消息,在服務器端給固定的群組或全部的用戶發(fā)送消息;數據統(tǒng)計:統(tǒng)計在一個時間段內的APP當中有多少用戶使用了IM功能,發(fā)了多少條消息,分布來自什么設備。

記者:容聯云通訊2013年才發(fā)布了***個版本,現在已經發(fā)布到了5.0版本,經歷了怎樣的演變?

張靖宇:我們一開始做的時候,商業(yè)模式是模仿國外的一家公司,通過網絡接口的方式撥打固定電話,在***版本中主要是集成了VoIP功能。企業(yè)用VoIP,要解決內部的通訊問題,降低通訊費,因此有了IM的需求,我們在2.0版本中增加了IM功能;到了3.0版本SDK的能力基本全了,有IM能力、視頻音頻能力、視頻會議能力、電話會議能力。這四個版本都是用戶需求推著我們走,沒有自己的頂層設計。我們團隊原來主要是做通訊的,采取的都是PC端的思維,在易用性方面考慮不是太多,所以前期用戶反饋回來很多問題。4.0版本時,我們對易用性做了一些優(yōu)化,用戶接入時就會相對輕松。這個問題解決后,用戶還反饋了流量、耗電等問題,我們做了比較全面的分析,原有的架構完全適配不了移動端,所以我們就決定把前面這些架構推翻掉,完全基于移動端重構了架構,推出了5.0版本。

記者:推翻原有的架構,重構基于移動端的架構,具體都做了哪些事情?

張靖宇:首先,我們分析移動通訊的特點,網絡不穩(wěn)定、丟包率高、延時高、流量敏感、流量收費高、耗電等等。主要從幾個方面來考慮:

網絡的考慮:我們有2G、3G、4G、WIFI,且不同運營商網絡狀況不同,要做出不同的應對;

消息中間件:消息中間件的作用主要是解耦的作用,考慮是否使用消息中間件;

數據庫:選擇什么樣的數據庫,是關系型還是非關系型,還是混用?非關系型數據庫效率更高;

IM協(xié)議:XMPP是文本協(xié)議,它的定義協(xié)議可讀性、擴展性都很強,但是它更適用于PC端;simple協(xié)議比較消耗流量;Redis協(xié)議,業(yè)內用的不多;

***,我們確定了移動端的目標,一個是登陸要快,發(fā)送消息要快;二是要省,要省電、省流量;三是要穩(wěn)定,不要丟消息,穩(wěn)定性要達到99.99%以上。

記者:基于這些目標,容聯云通訊采用了什么樣的方案?

張靖宇:我們采取了無DNS設計,滿足登錄快的需求。移動端登錄分為幾個過程,首先是建立信道,二是做DNS解析,你有個域名,他去連接你的域名,有個域名解析。第三你要做TCP連接。DNS解析里面,DNS這一步我們認為是可以省掉的,因為DNS解析通常消耗的時間比較多,一般快的情況下是100到200毫秒,慢的甚至3、4秒,所以我們首先采取的是無DNS設計。去掉注冊流程,通常用到第三方通訊云的時候會遇到這樣的情況,用戶在你的平臺注冊以后,同時要到第三方通訊云去注冊一個帳號。現在用戶在注冊的時候不必再到第三方通訊云來注冊了,登錄的時候直接輸入帳號,第三方通訊會直接驗證用戶是不是合法登錄,如果不是會直接記錄到后臺里面去,再加上其他的一些應用機制,省去了用戶注冊返回帳號的流程,因為帳號不能記在客戶端。

采用小包體協(xié)議,業(yè)務層的協(xié)議完全可以自定義,但在最小的基礎上,消息是一種固定的格式。舉個例子,對于文本消息,文本消息是大家發(fā)送最多的,在文本消息里面我們把消息類型去掉,服務端收到消息的時候,發(fā)現沒有消息類型,就認為這是一條文本消息。這樣就可以減少很多流量。同時,我們采取了“protobuffer+自定義”的協(xié)議,非常省流量。

穩(wěn)定性方面,我們主要采取多段的ACK確認以及***花存儲,發(fā)送消息會發(fā)送到連接器、中間件到邏輯服務器,在我的消息***化存儲之前我們會給用戶一個ACK的確認,經過***化之后,才會給用戶一個應答的消息,你已經發(fā)送成功了。另外,通過架構保證服務穩(wěn)定性。通常來講傳統(tǒng)一般會有一個導航,用戶一開始登錄的時候會先到導航服務器,然后拿到對應的IP地址過來登錄。我們去掉了導航,所以我們會直連。這是一個連接器的集群,它不做任何的業(yè)務邏輯,只去管理連接。目前我們做到的是一臺連接器,8核16G的服務器是可以做到80萬的長連接。80萬是慢負荷,發(fā)送文本消息的時候處理速度就會比較慢,所以我們采取了服務端留控的策略,每臺可以允許50萬,對整個消息的處理是完全沒有影響的。在連接器下面我們采取了消息中間件的方式,它雖然可能會帶來系統(tǒng)災難的節(jié)點,但是它在編程的時候,在系統(tǒng)維護的時候帶來了很多的方便性。

記者:這次5.0的發(fā)布,特別指出是架構的重構,這個重構體現在哪里?

張靖宇:我們采取了全新的架構叫push-pull系統(tǒng)架構,微信和陌陌都采用了push-pull系統(tǒng)架構來滿足大規(guī)模的用戶需求。

嚴格意義上講的推拉,不僅僅是多媒體消息,對于文本的消息也要采取推拉的方式。文本消息有大文本,有小文本,如果是大文本在你網絡狀況不小的情況下,接收端的人也會拿不到,所以我們采取的是完全的推拉。原來是推不下去,你就只能等離線了,即使網絡狀況好,你這條消息也拿不到了?,F在是網絡狀態(tài)一旦好,就能夠把這條消息拿到。在結構方面主要解決的是接收快,正是因為這個架構我們把原來的架構都推翻掉的,引用了版本號的邏輯。

總結:

采訪中,張靖宇一直強調,重構架構后推出的IM5.0產品是最契合移動互聯網的需求,它具備更快、更省、更穩(wěn)的特點。目前,產品已開放下載,期待來自市場的反應。

責任編輯:老門 來源: 51CTO
相關推薦

2015-06-02 11:24:06

容聯云通訊

2015-08-06 19:30:58

容聯云通訊

2014-12-26 14:53:04

容聯云通訊

2015-07-30 15:54:20

容聯云通訊IM

2015-07-23 10:14:01

容聯云通訊

2015-11-09 13:16:12

2015-11-02 11:50:42

容聯云通訊

2015-07-16 18:16:17

容聯云通訊注冊

2014-07-30 15:18:34

容聯云通訊云視頻會議

2015-02-02 13:26:53

2014-12-19 12:10:04

容聯云通訊

2015-09-14 17:32:22

容聯即時通訊云

2014-11-14 14:06:01

容聯云通訊

2014-07-24 17:40:26

容聯云通訊

2011-07-19 10:18:00

錢伯斯思科裁員

2018-05-09 11:40:14

AI

2015-09-28 18:44:25

容聯云通訊

2014-07-18 15:15:50

交換機華為

2016-10-27 15:32:54

合UCloud容聯云
點贊
收藏

51CTO技術棧公眾號