im全稱instant messaging
早期的cs、p2p架構
im系統中最核心的部分是訊息系統,訊息系統中最核心的功能是訊息的同步、儲存和檢索
整體結構如下圖:
具體功能:
1、使用者接入及訊息流程
2、離線訊息
使用者的訊息除了特殊可丟訊息以外缺省會入庫,包含個人訊息和組訊息等,離線訊息按照順序儲存。。為保證客戶端能同步到離線的訊息,客戶端在啟動或重連成功後,需呼叫脫機介面直至空為止,表示客戶端已取完所有離線。
3、推送
推送服務從中介軟體拉取訊息,解析訊息並補充相應的暱稱等,組裝訊息呼叫第三方推送介面傳送
4、訂閱
支援第三方服務從訂閱的群獲取訊息。目前訂閱僅支援webhook,訂閱服務通過實時的解析資料,呼叫相應的http介面進行訊息的投遞
第三方可通過http介面向指定**送訊息
5、統計
對活躍使用者,使用者訊息,總使用者數,當天新增使用者量等進行統計
6、使用者註冊
新增使用者時,生成唯一的id標識。
7、群成員管理
群成員新增刪除及快取處理,在服務維護成員關係,便於群訊息的傳送
8、使用者管理系統
9、設定
10、登入
11、多端的資料同步
含android、ios、pc的資料同步
IM系統架構設計之淺見
一.網路傳輸協議的選擇 目前我知曉的所有im系統傳輸即時訊息無外乎使用udp tcp 基於tcp的http這幾種協議中的一種或幾種。比如qq主要採用udp協議,msn主要採用tcp協議,而且他們也都支援http協議的 模式。更多資料,請參加這篇文章 一些常用軟體的網路埠協議分類介紹 我們該如何選擇呢...
IM系統架構設計之淺見
一.網路傳輸協議的選擇 目前我知曉的所有im系統傳輸即時訊息無外乎使用udp tcp 基於tcp的http這幾種協議中的一種或幾種。比如qq主要採用udp協議,msn主要採用tcp協議,而且他們也都支援http協議的 模式。更多資料,請參加這篇文章 一些常用軟體的網路埠協議分類介紹 我們該如何選擇呢...
IM系統架構設計之淺見
背景 除去大名鼎鼎的qq這款即時聊天工具,還有許多細分行業的im,比如 阿里旺旺 網易泡泡 yy語音.恰巧公司 產品也要開發一款基於我 們自己行業的類im系統,很有幸我擔當了這個產品的架構師,核心 編寫 實現者。下面把我近年來從技術上我對im系統 即時訊息的傳輸,不包括語音,視 頻,檔案的傳輸 的理...