酷信即時(shí)通訊是視酷信息開發(fā)的即時(shí)通訊軟件,100%完全自研,超級(jí)并發(fā)性能,自定義協(xié)議簡(jiǎn)單明了,基于Protobuf的二進(jìn)制字節(jié)格式,包極小,數(shù)據(jù)量小,傳輸速度快,帶寬占用低!
軟件特色
ProtoBuf 說明
Proto col buffers 是一種語(yǔ)言無(wú)關(guān)、平臺(tái)無(wú)關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)的方法,它可用于(數(shù)據(jù))通信協(xié)議、數(shù)據(jù)存儲(chǔ)等。
Proto col Buffers 是一種靈活,高效,自動(dòng)化機(jī)制的結(jié)構(gòu)數(shù)據(jù)序列化方法,用protobuf序列化后的大小是JSON的10分之一,是XML格式的20分之一,但是性能卻是它們的5~100倍,擴(kuò)展性、兼容性更好。
即時(shí)通訊源碼
數(shù)據(jù)庫(kù)存儲(chǔ) 分庫(kù)分表方案
例如用戶單聊記錄 :
根據(jù)用戶ID除 10000,作為分庫(kù)的鍵
每一萬(wàn)用戶的聊天記錄存在一張表中,達(dá)到聊天記錄均勻分散
提高數(shù)據(jù)庫(kù)插入和查詢的處理效率(多處與用戶相關(guān)的表設(shè)計(jì)都采用了這個(gè)方案)
視頻聊天源碼
組包支持
服務(wù)器內(nèi)部會(huì)把同一時(shí)間內(nèi)有多個(gè)消息包會(huì)自動(dòng)組成一個(gè)協(xié)議包發(fā)送
收到多條消息只需要發(fā)送一個(gè)回執(zhí)協(xié)議,減少回執(zhí)協(xié)議的浪費(fèi)
需要客戶端解析協(xié)議包時(shí)解析為多個(gè)消息包處理
開源IM
群組區(qū)別
視酷:
視酷中沒有群組的概念都是臨時(shí)聊天室實(shí)現(xiàn)的,客戶端在每次登陸成功后都要遍歷自己的群組,每個(gè)群組發(fā)送一個(gè)加入的協(xié)議
創(chuàng)建群組需發(fā)送多個(gè)協(xié)議
群組多的時(shí)候和網(wǎng)絡(luò)不穩(wěn)定的時(shí)候錯(cuò)誤率比較多
群組成員上限為1萬(wàn)
酷信:
登陸后不需要客戶端發(fā)送加群協(xié)議,服務(wù)端會(huì)自動(dòng)把用戶加入的群組和用戶的連接進(jìn)行綁定
群組多和網(wǎng)絡(luò)不穩(wěn)定的時(shí)候不會(huì)有影響
創(chuàng)建群組僅需發(fā)送一個(gè)協(xié)議
群組成員上限為10萬(wàn)
群組新消息
視酷:
*多會(huì)返回最后發(fā)送的100條消息,顯示99+
漫游消息時(shí),速度慢
酷信:
會(huì)顯示準(zhǔn)確的離線消息總數(shù)量,并獲取最近20條
漫游消息時(shí),速度快
IM
注冊(cè)與登陸
視酷:
在業(yè)務(wù)系統(tǒng)注冊(cè)一個(gè)賬號(hào)后,系統(tǒng)需要自動(dòng)調(diào)用XMPP系統(tǒng)注冊(cè)一個(gè)用戶
需要客戶端保存密碼(過程復(fù)雜 需要保持內(nèi)容一致性)
諸如此類,XMPP交互控制協(xié)議多達(dá)幾百種,類型繁多過程復(fù)雜
視酷即時(shí)通訊 賬號(hào)登陸只能是密碼登陸且XMPP系統(tǒng)能必須注冊(cè)了該用戶否則會(huì)登陸失敗
酷信:
業(yè)務(wù)系統(tǒng)注冊(cè)后,無(wú)需再注冊(cè)一個(gè)賬號(hào)
業(yè)務(wù)系統(tǒng)登陸后,根據(jù)返回的token登陸客戶端不需要保存密碼
登陸協(xié)議僅需一個(gè)協(xié)議
交互控制協(xié)議不超過十種,協(xié)議極簡(jiǎn)流程極簡(jiǎn)