内容正文:
即时通讯架构
“社交,是⼈人们运⽤用⼀一定的⽅方式(⼯工具)传递信息,
交流思想,以达到某种⺫⽬目的的社会活动。”
常⻅见于
•
•
•
即时通讯,私信应⽤用
游戏服务器
⻓长连接信息推送
通讯服务器组成
iOS
Android
客
户
端
WP
Connector连接集群
LVS
Logic逻辑集群
服务化数据集群(Session/Message)
IM
数
据
层
消息中转
Logic
Session Cluster
Message Cluster
User A
1
Connector
2
3
4
5
User B
6
Connector
Logic
“对安全性、⾼高可⽤用、扩展性的要求越⾼高,架构的
变化越⼤大。”
iOS
Android
客
户
端
WP
IM
LVS
Connector连接集群
Logic逻辑集群
服务化数据集群(Session/Message)
数
据
层
连接层
1. 连接层的作⽤用
2. “允许随时重启更新/
只允许晚上重启/不允
许重启断线”
3. 总的来说简单/异步
•
•
陌陌连接层
总连接数 1200万+
单台服务器压测70万连接,⼀一般使⽤用50%(主流配置)
Android
WP
客
户
端
IM
iOS
Connector连接集群
LVS
Logic逻辑集群
服务化数据集群(Session/Message)
数
据
层
逻辑层
1.
2.
3.
4.
⽤用户会话验证
消息存取
异步队列
随时重启
Android
WP
客
户
端
IM
iOS
Connector连接集群
LVS
Logic逻辑集群
服务化数据集群(Session/Message)
数
据
层
通讯协议
“
安全性要求
流量要求
传输要求可靠&⾼高效
”
•
•
通讯协议
常⻅见协议XMPP/SIP
缺点:1.流量⼤大 2.不可靠 3.交互复杂
Client
Server
WIFI/2G/3G/地铁/电梯
10ms/200ms/12s/TCP half-closed
通信协议设计
⺫⽬目标:
•
•
•
⾼高效:弱⺴⽹网络快速的收发
可靠:不会丢消息
易于扩展
Flag Length Data…
F