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

下载本文档

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

文档简介

即时通讯架构“社交,是⼈人们运⽤用⼀一定的⽅方式(⼯工具)传递信息,交流思想,以达到某种⺫⽬目的的社会活动。”常⻅见于•••即时通讯,私信应⽤用游戏服务器⻓长连接信息推送通讯服务器组成iOSAndroid客户端WPConnector连接集群LVS

Logic逻辑集群服务化数据集群(Session/Message)IM

层消息中转LogicSession

ClusterMessage

ClusterUser

A

1

Connector2345User

B

6

ConnectorLogic“对安全性、⾼高可⽤用、扩展性的要求越⾼高,架构的变化越⼤大。”iOSAndroid客户端WPIMLVSConnector连接集群

Logic逻辑集群服务化数据集群(Session/Message)数

据层连接层1.

连接层的作⽤用2.

“允许随时重启更新/

只允许晚上重启/不允

许重启断线”3.

总的来说简单/异步••

陌陌连接层总连接数

1200万+单台服务器压测70万连接,⼀一般使⽤用50%(主流配置)AndroidWP客户端

IM

iOSConnector连接集群LVS

Logic逻辑集群服务化数据集群(Session/Message)数

据层逻辑层1.2.3.4.⽤用户会话验证消息存取异步队列随时重启AndroidWP客户端

IM

iOSConnector连接集群LVSLogic逻辑集群服务化数据集群(Session/Message)数

据层通讯协议“安全性要求流量要求传输要求可靠&⾼高效”••

通讯协议常⻅见协议XMPP/SIP缺点:1.流量⼤大

2.不可靠

3.交互复杂ClientServer

WIFI/2G/3G/地铁/电梯10ms/200ms/12s/TCP

half-closed通信协议设计⺫⽬目标:•••⾼高效:弱⺴⽹网络快速的收发可靠:不会丢消息易于扩展FlagLengthData…FlagLengthData…FlagLengthData…msg:协议格式

良好的协议可以:•••简化系统设计提供可靠个⾼高效的消息传输易于扩展需求REDIS协议CR

LF$$$bytes

of

argument

1bytes

of

argument

2bytes

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

msg1C:msg-recv

1S:msg-send

msg2C:msg-recv

2S:msg-send

msg3

msg4

msg

5

msg

6C:msg-recv

3

4

5

6Redis

List:Client

msg-send

msg-recv

msg-send

msg-recv

msg-send

msg-recvList

Base基于队列的交互

Server

传统的IM协议前提是基于⺴⽹网线、WIFI,⺴⽹网络延迟极⼩小移动⺴⽹网络下,交互极其费时,服务器要维护每个状态容易出错“通讯协议优化,尽量减少⼀一次交互中数据往返的次数。”VersionMessage106msg105msg104msg103msg102msg101msg基于版本号的消息协议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-fin

v

104基于版本号的交互ClientServer

msg-psh

msg-sync

msg-send

msg-send

msg-send

msg-send

msg-finSorted

Set

Base针对弱⺴⽹网络的优化协议•••••消息通过版本号维护顺序新消息到达,Server只负责push通知Client收到轻量的msg-psh后发出同步请求Serv

温馨提示

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

评论

0/150

提交评论