IM系統的架構

2022-06-06 08:09:10 字數 861 閱讀 5766

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系統 即時訊息的傳輸,不包括語音,視 頻,檔案的傳輸 的理...