即时通讯架构.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
即时通讯架构.pptx

即时通讯架构“社交,是?人们运?用?一定的?方式(?工具)传递信息,交流思想,以达到某种??目的的社会活动。”常?见于即时通讯,私信应?用游戏服务器?长连接信息推送???通讯服务器组成客户端iOSAndroidWPConnector连接集群LVSIM 数? 据 层 Logic逻辑集群服务化数据集群(Session/Message)消息中转User A 1 ConnectorUser B 6 Connector25LogicLogic34Message ClusterSession Cluster“对安全性、?高可?用、扩展性的要求越?高,架构的变化越?大。”连接层1. 连接层的作?用2. “允许随时重启更新/客户端iOSAndroidWP 只允许晚上重启/不允 许重启断线”3. 总的来说简单/异步LVSConnector连接集群 Logic逻辑集群IM数?据层服务化数据集群(Session/Message) 陌陌连接层总连接数 1200万+单台服务器压测70万连接,?一般使?用50%(主流配置)??逻辑层.?用户会话验证消息存取异步队列随时重启客户端 IMAndroidWP iOSConnector连接集群LVS Logic逻辑集群服务化数据集群(Session/Message)数?据层通讯协议“安全性要求流量要求传输要求可靠&?高效客户端 IMAndroidWP iOSConnector连接集群LVS”Logic逻辑集群数?据层服务化数据集群(Session/Message) 通讯协议常?见协议XMPP/SIP缺点:1.流量?大 2.不可靠 3.交互复杂?? WIFI/2G/3G/地铁/电梯10ms/200ms/12s/TCP half-closedClientServer通信协议设计??目标:?高效:弱??网络快速的收发可靠:不会丢消息易于扩展???协议格式 良好的协议可以:msg:FlagLengthData…FlagLengthData…FlagLengthData…简化系统设计提供可靠个?高效的消息传输易于扩展需求???REDIS协议Redis协议 * number of argumentsCR LF$$$bytes of argument 1bytes of argument 2bytes of argument 3CR LFCR LFCR LFdatadatadataCR LFCR LFCR LFSET name latermoon* 3 $ 3 SET $ 4 name $ 9 latermoon下?面都?用Redis协议来描述逻辑READ REDIS COMMAND基于队列的消息协议Redis List:S:msg-send msg1C:msg-recv 1S:msg-send msg2C:msg-recv 2S:msg-send msg3 msg4 msg 5 msg 6C:msg-recv 3 4 5 6FIFOmsg6msg5msg4msg3msg2msg1基于队列的交互 Server 传统的IM协议Client前提是基于??网线、WIFI,??网络延迟极?小移动??网络下,交互极其费时,服务器要维护每个状态容易出错 msg-send msg-recv msg-send msg-recv msg-send msg-recvList Base“通讯协议优化,尽量减少?一次交互中数据往返的次数。”基于版本号的消息协议Redis Sorted Set:S:msg-pshC:msg-syncS:msg v 101 msgS:msg v 102 msgS:msg v 103 msgS:msg v 104 msgC:msg-?n v 104VersionMessage106msg105msg104msg103msg102msg101msg基于版本号的交互ClientServer针对弱??网络的优化协议消息通过版本号维护顺序新消息到达,Server只负责push通知Client收到轻量的msg-psh后发出同步请求Server按照版本号连续发送msgClient告诉Server收到最后的版本????? msg-psh msg-sync msg-send msg-send msg-send msg-send msg-?nSorted Set Base其它问题核?心的?长连接只?用于传输轻量的实时数据图?片、语?音等都可以开新的TCP或HTTP连接??“?一切就绪后,最重要的就是监控。”监控“完”

文档评论(0)

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

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

1亿VIP精品文档

相关文档