限流策略

三种候选方案

我调研了几个方案:

方案 A:固定阈值限流

每个用户每小时最多接收 N 条通知,超过暂停发送。

  • 优点:简单。
  • 缺点:一刀切,无法区分重要通知(私信也会被限)。

方案 B:按类型限流

不同类型的通知有不同的限流规则:

点赞:每小时最多 5 条
评论:每小时最多 10 条
私信:不限流(重要)
  • 优点:灵活。
  • 缺点:需要手动设置每种类型的阈值。

方案 C:聚合 + 限流

相似通知聚合,再加上限流:

点赞:同一动态的点赞,聚合成 1 条("张三等15人点赞了你的动态")
      同一动态每小时最多 1 条点赞通知
评论:同一用户的连续评论,聚合成 1 条
      同一动态每小时最多 5 条评论通知
私信:不聚合,不限流
  • 优点:减少通知数量,同时保留重要信息。
  • 缺点:实现复杂。

我的选择

我选择了方案 C(聚合 + 限流),因为它既减少了通知数量,又保留了关键信息。

为什么聚合 + 限流最好

  • 限流解决「数量太多」:时间窗口内超过阈值就合并 / 暂停。
  • 聚合解决「信息冗余」:相似事件合并成一条带计数的通知。
  • 按类型解决「一刀切」:私信不受影响,点赞严格限制。

三者结合,才是「减少打扰、保留信息」的完整答案。

通知聚合限流模拟器

原始通知数每个赞 / 每条评论都发
优化后通知数
减少量
观察:聚合后将相似点赞和评论合并,再叠加限流,用户只收到几条关键通知。

一句话

限流策略的演进:固定阈值 → 按类型 → 聚合 + 限流。**最好的方案不是「限制数量」,而是「既减数量又留信息」。**下一节看限流的具体实现与规则表。

发现内容有问题?

告诉我们哪里需要改进。