即时通讯架构_第1页
即时通讯架构_第2页
即时通讯架构_第3页
即时通讯架构_第4页
即时通讯架构_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、即时通讯架构“社交,是人们运用一定的方式(工具)传递信息,交流思想,以达到某种目的的社会活动。”常见于即时通讯,私信应用 游戏服务器 长连接信息推送通讯服务器组成iOSAndroid客户端WPConnector连接集群LVSLogic逻辑集群服务化数据集群(Session/Message)IM数据层消息中转LogicSession ClusterMessage ClusterUser A1Connector2345User B6ConnectorLogic“对安全性、高可用、扩展性的要求越高,架构的变化越大。”iOSAndroid客户端WPIMLVSConnector连接集群Logic逻辑集群

2、服务化数据集群(Session/Message)数据层连接层1. 连接层的作用 2. “允许随时重启更新/只允许晚上重启/不允许重启断线” 3. 总的来说简单/异步陌陌连接层总连接数 1200万+ 单台服务器压测70万连接,一般使用50%(主流配置)AndroidWP客户端IMiOSConnector连接集群LVSLogic逻辑集群服务化数据集群(Session/Message)数据层逻辑层1.2.3.4.用户会话验证 消息存取 异步队列 随时重启AndroidWP客户端IMiOSConnector连接集群LVSLogic逻辑集群服务化数据集群(Session/Message)数据层通讯协议“

3、 安全性要求 流量要求 传输要求可靠&高效 ”通讯协议常见协议XMPP/SIP 缺点:1.流量大 2.不可靠 3.交互复杂ClientServerWIFI/2G/3G/地铁/电梯10ms/200ms/12s/TCP half-closed通信协议设计目标: 高效:弱网络快速的收发 可靠:不会丢消息 易于扩展FlagLength DataFlagLength DataFlagLength Datamsg:协议格式良好的协议可以: 简化系统设计 提供可靠个高效的消息传输 易于扩展需求REDIS协议CR LF$bytes of argument 1bytes of argument 2byt

4、es of argument 3CR LFCR LFCR LFdatadatadataCR LFCR LFCR LFRedis协议* number of argumentsSET name latermoon * 3 $ 3 SET $ 4 name $ 9 latermoon下面都用Redis协议来描述逻辑READ REDIS COMMANDFIFOmsg6msg5msg4msg3msg2msg1基于队列的消息协议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

5、 C:msg-recv 3 4 5 6Redis List:Clientmsg-sendmsg-recvmsg-sendmsg-recvmsg-sendmsg-recvList Base基于队列的交互Server 传统的IM协议 前提是基于网线、WIFI,网络延迟极小 移动网络下,交互极其费时,服务器要维护每个状态容易出错“通讯协议优化,尽量减少一次交互中数据往返的次数。”VersionMessage106msg105msg104msg103msg102msg101msg基于版本号的消息协议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-fin v 104基于版本号的交互ClientServermsg-pshmsg-syncmsg-sendmsg-sendmsg-sendmsg-sendmsg-finSorted Set Base针对弱网络的优化协议 消息通过版本号维护顺序 新消息到达,Server只负责push通知 Client收到轻量的msg-psh后发出同步请求 Server按照版本号连续发送m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论