IM 系统长连接架构
微信如何保证消息不丢不重、实时到达?从一个简化的 IM 系统设计看长连接、消息可靠性和分布式架构。 一、IM 系统的核心挑战 1.1 实时性——毫秒级消息到达 1.2 可靠性——消息不丢不重 1.3 一致性——多端消息同步 1.4 海量连接——千万级长连接 二、通信协议选型 2.1 短轮询——简单但浪费资源 2.2 长轮询——半实时 2.3 WebSocket——全双工,浏览器原生支持 2.4 TCP 长连接——App 端最优选择 2.5 协议格式——Protobuf 二进制 三、长连接管理 3.1 连接建立——握手 + 鉴权 3.2 Session 管理——userId → c...