即时通讯架构详解.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档