IM

IM 状态同步

IM 状态同步

Posted by ZW on May 6, 2020
  • im 状态简单抽象 在线 ,离线

用户登录/登出时更新状态

图1

登录时获取好友状态

图2

userA 已经登录后,好友有状态变化同步

方案一

userA 轮训去服务器拉取好友状态

缺点: 1. 可能会有延迟
2. 大量无效的轮询请求,占用服务器资源

方案二

userB 状态改变后反向 查找 userB的好友,主动通知好友.

缺点:好友数量过多,可能形成”消息风暴”

群聊状态保持状态一致

群友状态同步应该优先考虑 轮训主动去拉的方式,且可以只主动拉取进入的群