- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
即时通讯架构
“社交,是?人们运?用?一定的?方式(?工具)传递信息,
交流思想,以达到某种??目的的社会活动。”
常?见于
?
?
?
即时通讯,私信应?用
游戏服务器
?长连接信息推送
通讯服务器组成
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…
Flag
Length
Data…
Flag
Length
Data…
msg:
协议格式
良好的协议可以:
?
?
?
简化系统设计
提供可靠个?高效的消息传输
易于扩展需求
REDIS协议
CR LF
$
$
$
bytes of argument 1
bytes of argument 2
bytes of argument 3
CR LF
CR LF
CR LF
data
data
data
CR LF
CR LF
CR LF
Redis协议
* number of arguments
SET name latermoon
* 3 $ 3 SET $ 4 name $ 9 latermoon
下?面都?用Redis协议来描述逻辑
READ REDIS COMMAND
FIFO
msg6
msg5
msg4
msg3
msg2
msg1
基于队列的消息协议
S:msg-send msg1
C:msg-recv 1
S:msg-send msg2
C:msg-recv 2
S:msg-send msg3 msg4 msg 5 msg 6
C:msg-recv 3 4 5 6
Redis List:
Client
msg-send
msg-recv
msg-send
msg-recv
msg-send
msg-recv
List Base
基于队列的交互
Server 传统的IM协议
前提是基于??网线、WIFI,??网络延迟极
?小
移动??网络下,交互极其费时,服务器
要维护每个状态容易出错
“通讯协议优化,尽量减少?一次交互中数据往返的
次数。”
Version
Message
106
msg
105
msg
104
msg
103
msg
102
msg
101
msg
基于版本号的消息协议
Redis Sorted Set:
S:msg-psh
C:msg-sync
S:msg v 101 msg
S:msg v 102 msg
S:msg v 103 msg
S:msg v 104 msg
C:msg-?n v 104
基于版本号的交互
Client
Server
msg-psh
msg-sync
msg-s
您可能关注的文档
最近下载
- DELTA台达伺服驱动器ASDA-A2使用手册-操作说明书.pptx
- 广东省花城印刷厂建设项目-C2311书、报刊印刷和C2312本册印刷项目环境影响报告书.pdf VIP
- 氧舱安全技术监察规程,TSG24-2015.pdf
- mculloch-pitts_A Logical Calculus of Ideas Immanent in Nervous Activity外文翻译.pdf VIP
- 《幼儿卫生保健》教学配套课件.ppt
- 长郡教育集团·培粹实验中学.doc VIP
- 索尼彩监特丽珑trinitron_pvm5041q维修电路图手册.pdf
- 肺胀中医护理方案.pdf VIP
- 银行机构恢复与处置计划.docx VIP
- 工业园区风险分析.docx
文档评论(0)