这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
礼物事件模型
礼物事件包含什么
礼物事件需要包含:
| 字段 | 含义 |
|---|---|
| gift_event_id | 礼物事件唯一 ID |
| order_id | 支付订单 |
| room_id | 房间 |
| sender_id | 送礼用户 |
| anchor_id | 主播 |
| gift_id | 礼物类型 |
| count | 数量 |
| amount | 金额 |
| paid_at | 支付完成时间 |
两个 ID 的分工
gift_event_id:用于展示和统计的幂等——同一事件重复到达不重复处理。order_id:用于和账务系统对账——礼物事件能追溯到支付订单。
这两个 ID 是礼物链路可靠性的基石。
事件从哪来
账户/支付系统扣款成功
-> 产出「礼物支付成功」事件
-> 弹幕系统消费事件
-> 房间广播展示 + 榜单统计
- 弹幕系统不主动触发扣款,只消费支付结果。
- 支付结果事件本身要可靠(至少一次投递)。
事件的消费者
- 展示消费者:生成房间广播,驱动动效。
- 统计消费者:更新贡献榜、小时榜、主播收益。
- 审计消费者:记录完整送礼链路。
多个消费者共享同一个 gift_event,各自幂等处理。
一句话
礼物事件模型的核心是两个 ID:gift_event_id 保证幂等,order_id 保证可对账。事件由支付系统产出,弹幕系统消费展示与统计。
下一节看礼物的展示优先级与榜单统计。
