直播带货源码IM消息系统的实践要看这两点之间的协调IM电竞
发布时间:2023-02-26 01:31:04

  IM消息系统中,除了实时消息外,离线消息和历史消息都是需要直播带货源码专门开发的,对于在线用户,直播带货源码只需要满足实时发送的消息即可,消息发送成功后,服务器端不会对消息进行落地储存。对离线用户来说,服务器端会将消息存入到离线库中,用户登录后直接从离线库拉取消息,从这里就能简单划分IM电竞离线消息和历史消息的不同,历史消息支持漫游而离线消息不支持。

  1、离线消息是用户在离线过程中收到的消息,具有一定的时效性,但直播带货源码不会长期保存这些消息im新闻,有一定的时间限制。离线消息包含很多种,比如对方不在线、掉线、对方系统崩溃、服务器发送时出错等,无法实时发送的消息都归为离线、历史消息储存了用户所有的聊天消息,包括发出的消息以及接收到的消息,这类消息的储存时间就比较久了,而且会根据直播带货源码所在设备的不同,可能会出现无法同步的情况

  首先离线消息的储存介质选用的是Redis,其次储存模式可以分两种:扩散写(离线消息)和扩散读(历史消息)

  1、扩散写的优点在于,接收端的逻辑会非常清晰简单,只需要从收件箱里读取一次即可,大大降低了直播带货源码同步消息所需的读压力;缺点是写入会被成指数的放大,特别在针对群场景下

  2、扩散读是历史消息的储存模式,优点在于写入次数降低,直播带货源码不需要那么多资源投入到写模式上,特别是群消息,发送一次就行;缺点是接收端接收消息复杂切低效,可能会产生无效读的情况

  对直播带货源码来说,没有什么消息模式是永恒的,都是根据离线和历史消息的不同场景选择写扩散和读扩散的组合模式,场景不同适合的方案也不一样。对直播带货源码来IM电竞说,这种模式下准备另一套备用方案就显得很有必要了IM电竞,来回切换往往能达到更好的效果IM电竞。