IM 系統中,保證消息的可靠投遞主要體現在兩方面,一是消息的不丟失,二是消息的不重復。 一、消息不丟失 消息丟失的原因 首先看一下發送消息的流程,如下圖所示: 圖片來源於《即時消息技術剖析與實戰》第 04 講 用戶 A 發出的消息,先到達IM服務端(步驟1),由服務端暫存(步驟 ...
一 IM 系統的高並發場景 IM 系統中,高並發多見於直播互動場景。比如直播間,在直播過程中,觀眾會給主播打賞 送禮 發送彈幕等,尤其是明星直播間,幾十萬 上百萬人的規模一點也不稀奇。近期隨着武漢新型肺炎疫情的蔓延,很多教育機構也提供了 停課不停學 的在線直播教學服務,也是一大直播互動場景。 直播互動場景具有這樣的特點:流量峰值具有 短時間快速聚集 的突發性 流量隨着開播和結束而劇烈波動,因而會帶 ...
2020-02-04 12:22 0 727 推薦指數:
IM 系統中,保證消息的可靠投遞主要體現在兩方面,一是消息的不丟失,二是消息的不重復。 一、消息不丟失 消息丟失的原因 首先看一下發送消息的流程,如下圖所示: 圖片來源於《即時消息技術剖析與實戰》第 04 講 用戶 A 發出的消息,先到達IM服務端(步驟1),由服務端暫存(步驟 ...
消息存儲 1. 通過設備的在線狀態來實現 記錄設備的在線狀態,當用戶在多個終端同時登錄並發送消 ...
IM 技術經歷過幾次迭代升級,如圖所示: 從簡單、低效的短輪詢逐步升級到相對效率可控的長輪詢; 全雙工的 Websocket 徹底解決了服務端的推送問題; 基於 TCP 長連接衍生的 IM 協議,能夠實現服務端的主動推送。 一、基於HTTP協議的短輪詢與長連接 ...
在消息產生、流轉的各個環節中,需要保證消息傳輸安全性、消息存儲安全性、消息內容安全性。 一、消息傳輸安全性 消息傳輸的重要防范點有兩個,一是訪問入口安全,二是傳輸鏈路安全。 1.HttpDNS保證訪問入口安全 訪問入口指的是即時消息服務中提供的一個公網的接入服務,作為用戶收發消息的出入口 ...
一、什么是消息一致性 消息一致性指的是消息的時序一致性,即消息收發的一致性。如果不能保證時序一致性,就會造成聊天語義不連貫,引起誤會。 對於點對點的聊天場景,時序一致性保證接收方的接收順序和發送方的發出順序一致;對於群聊場景,時序一致性保證所有接收人看到的消息展現順序一致。 二、消息一致性 ...
一、什么是消息未讀 消息未讀包括 會話未讀和 總未讀。前者指的是當前用戶和某一聊天方的未讀消息數,后者指的是當前用戶的所有未讀消息數,也就是所有會話未讀的和。比如用戶A收到用戶B的2條消息,還收到用戶C的3條消息,則用戶A與B的會話未讀數是2,用戶A與C ...
假設有以下突發意外情況: 用戶進入信號不好的地方,手機沒有網絡信號了 上網的路由器突然掉線了 這個時候,比如微信發消息,消息就會轉圈圈,甚至變成紅色嘆號…… 上面情況都會導致“長連接”不可用。 我們知道,為了讓消息能更加實時、可靠、快速地觸達到接收方,大部分 IM 系統會通過“長 ...
一、IM的應用場景 聊天、直播、在線客服、物聯網等所有需要 實時互動、高實時性的場景,都需要應用到 IM 技術。 圖片來源於《即時消息技術剖析與實戰》開篇詞 除了上面提到的聊天、直播互動、物聯網等這些場景,生活中接觸到的聯機游戲、視頻會議、在線協作等場景 ...