即時訊息技術剖析與實戰

2021-09-27 09:41:10 字數 1762 閱讀 4428

網路 ,訊息佇列,快取,資料庫,加密等。

賬號 , 聯絡人,關係 ,會話,訊息

im 系統

客戶端 ,接入服務,業務處理服務,儲存服務,外部介面服務。

接入服務=>接入層

連線保持,協議解析,會話維護,訊息推送,編譯碼(protobuf)

業務處理服務=》業務層

訊息儲存,未讀數變更,最近聯絡人

儲存服務

賬號資訊,關係鏈,訊息本身,使用者設定。

外部介面服務

apns & gcm(google cloud messaging,國內無法用,安卓手機廠商提供系統推送服務代替)。

實時性

可靠性

不丟訊息,訊息不重複。

一致性

時序,序號生成器

安全性

資料傳輸安全,資料儲存安全,訊息內容安全。

telegam

mqrtx

socket

nio閘道器服務

qps (每秒查詢率)

nat 超時 (5min)

心跳包頻率 4.5 min

微服務 rpc

保活聯盟

ack業務 ack

sid集群化部署

ntpttl

localdns

kafka

短輪詢

長輪詢長鏈結,websocket(全雙工,h5時代) ,xmpp,mqtt,基於 tcp 或 udp的私有協議(更安全),實現邊緣觸發。

輪詢都是基於無狀態的 http協議。

xmpp 基於 xml 冗餘

mqtt (輕量級)基於** 的「發布/訂閱」模式,勝流量,拓展性強,但不支援群組,離線訊息等。

需要提供本地儲存的最新訊息

不丟

不重複超時重發,im伺服器去重,訊息唯一 id

ack + 超時重傳 + 去重 + 時間戳比對

時序一致性

時序基準

全域性時序生成器db 自增 id ,redis 原子自增命令 incr twitter 的 snowflake

分布式時間相關 id 生成器

本地整流

服務端包內整流

packageid

訪問入口安全

傳輸鏈路安全

dns 網域名稱劫持

tls端到端加密

中斷 截獲 篡改 偽造

釣魚,涉黃 ,反動

敏感詞庫

鑑黃語音轉文字,**識別(ocr)

爬蟲分析外鏈

Android即時訊息介紹

從安全角度考慮,開發者在 android sdk 1.0 版中訪問 gtalk im 服務受到了限制。因此,這一章節中描述的功能對於開發者來說,如果使用 android sdk 1.0 將無法進行嘗試。與其刪除受到影響的章節,不如把它們留在這裡。對於將來的 android 釋放版本,有可能成為使用的...

即時訊息傳遞安全與保密決竅 微軟

無論您使用即時訊息傳遞程式已有一段時間,還是剛剛決定嘗試即時訊息傳遞程式,您都應該了解一些可幫助保護您自己以及私有資訊保安的知識。即時訊息傳遞,通常稱為 im,是一種類似電子郵件的聯機通訊方式。顧名思義,主要區別是 im 具有即時性。im 需要特殊的軟體程式 如 windows messenger ...

金蝶EAS,訊息中心,即時訊息,傳送通知

業務場景 用於在金蝶eas客戶端訊息中心中的即時訊息。通過 可以給特定使用者傳送通知訊息,使用者登入系統後在訊息中心可以檢視到。系統通知,用於後台 param ctx 上下文 param sender 傳送人 使用者名稱 param title 訊息標題 param body 訊息內容 param ...