微信多点登录,消息漫游,假如让你来实现?

本文探讨了微信如何实现手机、PC多点登录同时收发消息及消息漫游。多点登录关键在于服务端存储用户多个端的状态和登录点;消息漫游则需所有消息存储在云端,并在登录时同步历史消息。架构调整涉及发送方和接收方的多点登录处理,以及消息存储策略以支持有限的历史消息拉取。
摘要由CSDN通过智能技术生成

有朋友问:

  • 微信如何实现手机端、PC端同时登录,同时收消息?

  • 微信能不能实现,换一个手机,仍能拉取到历史消息?

这是多点登录消息漫游的问题。

什么是多点登录?

以微信为例,可以PC端,phone端同时登录,同时收发消息。

画外音:需要注意的是,一个端只能登录一个实例,例如同一个QQ号,在pc1上登录,再到pc2上登录,后者会把前者踢出,pc1会收到通知“你已在别处登录xxoo”。

 

什么是消息漫游?

在任何一个终端的任何一个实例登录,都能够拉取到所有历史聊天消息,这个就是消息漫游。

画外音:微信目前只支持“多点登录”同时收发在线消息,以及最近几条消息的“消息漫游”,没有实现全部消息的“漫游”。

 

典型即时通讯架构如何?

典型即时通讯架构可以抽象成这么几层:

  • 客户端:例如pc微信,手机qq

  • 服务端:

入口层gate:保持与客户端的连接;

逻辑层logic、路由层router:实现业务逻辑,进行消息的路由;

cache:用来存储用户的在线状态,与接入节点(用户具体连接在哪个gate节点);

db:固化存储消息,群信息,好友关系链等信息;

画外音:都需要考虑高可用,扩展性。

 

一个典型的消息投递流程如上图步骤1-5:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值