任何脱离业务的架构设计都是耍流氓。

状态同步,有好友状态的同步,有群友状态的同步,有的需要实时同步,有的能够容忍延时。结合具体场景来看下,状态同步,究竟是推还是拉。

用户的在线状态,分为客户端状态(端),服务端状态(云)两种形态。

什么是服务端状态?

服务端状态,主要分为在线online和离线offline,不同的状态,对于不同的业务处理流程可能不同。例如对于消息的处理:

  • 服务端状态在线,直接投递给用户
  • 服务端状态离线,直接存储离线消息,等用户下一次登录拉取

如何实时更新服务端状态?

用户uid-A登录时,会修改用户的服务端状态为在线。

image.png

用户uid-A登出时,会修改用户的服务端状态为离线。

image.png

经常的,服务端会将用户的服务端状态存储在高可用的缓存集群里。

什么是客户端状态?

不同的产品,会有不同的客户端状态,例如隐身、离线、忙碌、勿扰等,这些状态大多是产品功

收藏 打印