这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
一致性边界与异常
常见异常
礼物链路常见的异常包括:
| 异常 | 场景 |
|---|---|
| 扣款成功但礼物未展示 | 广播失败 / 客户端未收到 |
| 展示成功但统计延迟 | 队列积压 |
| 队列重复投递 | 榜单重复累加 |
| 账户系统超时 | 实际已扣款,但下游以为失败 |
解决思路:以支付订单为准
所有下游动作以支付订单为准,幂等消费:
- 扣款状态以账户 / 支付系统为准。
- 礼物事件带
order_id+gift_event_id。 - 展示、统计、审计各自幂等。
- 对账兜底:定期核对订单与展示 / 统计。
超时与重试
- 账户系统超时 → 不能直接判失败,要查询订单状态。
- 广播失败 → 重试,保证至少展示一次。
- 重试要幂等,不能因为重试造成重复扣款 / 重复累加。
一致性边界
资金正确性优先(强一致)
展示实时性尽力保证(最终一致)
- 资金:绝不妥协,宁可慢也要准。
- 展示:尽力而为,坏了可降级(如只显示文字不带动效)。
一句话
礼物系统的设计原则:资金正确性优先,展示实时性尽力保证。以订单为准 + 全链路幂等 + 定期对账,是礼物可靠性的三条防线。
下一章扩展更多互动功能:点赞、投票、抽奖、连麦、管理。
