互动功能

直播间不只有弹幕和礼物。点赞、投票、抽奖、连麦、关注、禁言、踢人都会进入同一套实时互动体系。设计这些功能时,要先区分消息类型和一致性要求。

互动消息分类

功能特点处理策略
点赞高频、低价值聚合计数、采样广播
投票有结果一致性服务端计票、定时广播结果
抽奖公平性要求高规则固定、过程审计
连麦状态复杂信令和媒体链路分离
禁言/踢人管理动作高优先级、强审计

不同互动不要都按弹幕处理。点赞如果每次都广播,会制造巨大流量;禁言如果延迟太高,会影响房间治理。

点赞与计数

点赞适合聚合:

客户端点赞 -> 本地立即反馈 -> 服务端聚合计数 -> 定期广播总数

用户不需要看到每一次点赞事件,只需要看到热度变化。服务端可以按用户限速,按房间聚合,再周期性推送点赞总数。

投票与抽奖

投票和抽奖需要可验证:

  • 同一用户是否只能投一次?
  • 投票截止时间如何确定?
  • 抽奖资格如何计算?
  • 结果是否可审计?

这类功能不能只依赖客户端。服务端要保存规则、参与记录和结果,并提供复盘能力。

管理动作

管理员禁言、踢人、清屏属于高优先级控制消息:

  • 需要校验管理员权限。
  • 要尽快推送到相关用户和房间。
  • 要记录操作人、原因和时间。
  • 用户申诉时能追溯。

管理消息可以走独立高优先级通道,避免被普通弹幕挤压。

互动平台化

随着互动功能增加,系统应抽象统一事件:

room_event: { room_id, user_id, type, payload, priority, created_at }

不同功能共享连接、分发、限流、审计和统计能力,但保留各自的业务处理逻辑。下一章会把这些能力整合成完整直播互动架构。