这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
消息模型
三个核心对象
第一版弹幕系统可以从三个核心对象开始:
用户 -> 发送弹幕 -> 房间 -> 推送给在线观众
- 房间:直播间的容器,决定消息分发给谁。
- 用户:发送者,带身份与权限。
- 消息:唯一 ID、内容、类型与状态。
消息模型
一条弹幕消息至少包含:
| 字段 | 含义 |
|---|---|
| message_id | 消息唯一 ID |
| room_id | 直播间 |
| user_id | 发送者 |
| content | 文本内容 |
| type | 普通弹幕、系统消息、礼物、管理员消息 |
| status | 待审核、可见、拦截、删除 |
| created_at | 发送时间 |
为什么不要只存文本
只存 content 是不够的:
type决定走哪条链路(实时分发 / 高优通道 / 聚合)。status决定是否可见、是否可回放。message_id是幂等和审计的键。
消息类型和状态会影响后续的审核、分发、落库和回放,所以从第一版就要建模完整。
房间与用户
- 房间:
room_id+ 直播状态 + 房间级配置(限流 / 审核策略)。 - 用户:
user_id+ 是否登录 / 是否被禁言 + 发送权限。
这两个对象是消息的上下文:同一条消息放在不同房间、由不同用户发出,处理策略可能完全不同。
一句话
消息模型是弹幕系统的数据基础。先定义清楚「一条消息是什么」,后面所有的分发、治理、落库才有依托。
下一节看一条弹幕从发出到被看到的基础流程。
发现内容有问题?
告诉我们哪里需要改进。
