这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
限流策略
三种候选方案
我调研了几个方案:
方案 A:固定阈值限流
每个用户每小时最多接收 N 条通知,超过暂停发送。
- 优点:简单。
- 缺点:一刀切,无法区分重要通知(私信也会被限)。
方案 B:按类型限流
不同类型的通知有不同的限流规则:
点赞:每小时最多 5 条
评论:每小时最多 10 条
私信:不限流(重要)
- 优点:灵活。
- 缺点:需要手动设置每种类型的阈值。
方案 C:聚合 + 限流
相似通知聚合,再加上限流:
点赞:同一动态的点赞,聚合成 1 条("张三等15人点赞了你的动态")
同一动态每小时最多 1 条点赞通知
评论:同一用户的连续评论,聚合成 1 条
同一动态每小时最多 5 条评论通知
私信:不聚合,不限流
- 优点:减少通知数量,同时保留重要信息。
- 缺点:实现复杂。
我的选择
我选择了方案 C(聚合 + 限流),因为它既减少了通知数量,又保留了关键信息。
为什么聚合 + 限流最好
- 限流解决「数量太多」:时间窗口内超过阈值就合并 / 暂停。
- 聚合解决「信息冗余」:相似事件合并成一条带计数的通知。
- 按类型解决「一刀切」:私信不受影响,点赞严格限制。
三者结合,才是「减少打扰、保留信息」的完整答案。
通知聚合限流模拟器
原始通知数每个赞 / 每条评论都发
优化后通知数
减少量
⚠ 优化后仍较多——可进一步收紧限流或提高聚合粒度
观察:聚合后将相似点赞和评论合并,再叠加限流,用户只收到几条关键通知。
一句话
限流策略的演进:固定阈值 → 按类型 → 聚合 + 限流。**最好的方案不是「限制数量」,而是「既减数量又留信息」。**下一节看限流的具体实现与规则表。
发现内容有问题?
告诉我们哪里需要改进。
