聊天室场景下,消息丢弃策略

聊天室场景下,消息量较大时,消息丢弃策略是什么
发布时间: 2019-01-29 11:36

回答:

聊天室场景下,融云服务端默认单个聊天室中上行消息处理能力是每 200 毫秒 40 条,其中 20 条为高优先级消息使用配额,另外 20 条为高优先级和低优先级消息共同使用。

在聊天室消息量较大的情况下,融云服务器会按消息发送的时间顺序,将超出消费上限的最新消息丢弃,确保服务器稳定。

针对以上情况,为保证聊天室中重要消息不被丢弃,融云提供了以下服务:

1、聊天室用户白名单功能,白名单中用户发送的消息受到保护,在聊天室消息量较大的情况下保障级别最高。

2、聊天室消息白名单功能,该名单中的消息受到保护,在聊天室消息量较大的情况下保障级别最高。

3、聊天室消息优先级功能,该功能为设置低优先级的消息类型,在聊天室消息量较大的情况下,此类型的消息将被优先抛弃,确保重要消息不被丢弃。

注:未设置情况下融云的所有消息均为高优先级消息。

以上功能设置后,服务端收到聊天室上行消息时,根据消息类型的设置状态,处理逻辑如下:

针对普通消息(高优先级、低优先级)和白名单消息进行消息计数,普通消息上限最多为每 200 毫秒 40 条,白名。

a、上行消息为低优先级消息,占用普通消息计数,最多发送 20 条,即普通消息计数超过20之后此类消息进行丢弃。

b、上行消息为默认高优先级消息,占用普通消息计数,最多发送 40 条,即普通消息计数超过40之后,收到的高、低优先级消息都将被抛弃。

c、上行消息为设置的聊天室消息白名单中的消息或用户白名单中的用户发送的消息时,会占用普通消息计数(40 条)、及白名单消息计数(60 条),最多可发送 100 条,当累计最多超过 100 条之后,聊天室中新消息进行丢弃处理。

注:单个聊天室可消费的每 200 毫秒 100 条的上行消息配额,开通专有云后可进行配置。