开始 - 榜单系统概述

一个热搜榜通常承担两个任务:让用户快速看到当前最热门的内容,也让平台把公共注意力组织起来。问题是,什么叫“热门”?是点击多、评论多、增长快,还是刚刚爆发?

如果只按点击数排序,老内容会长期霸榜;如果只按最新互动排序,榜单会剧烈抖动;如果完全实时,刷榜攻击会更容易影响结果。

榜单类型

常见榜单包括:

  • 全站热榜:展示平台整体热点。
  • 分类榜:按频道、城市、话题拆分。
  • 实时榜:更关注短时间增速。
  • 趋势榜:强调热度变化和上升速度。
  • 个性化榜:结合用户兴趣和全局热度。

不同榜单的热度公式、刷新频率和防刷策略不同。

核心指标

榜单系统要关注:

  • 更新延迟:事件发生后多久影响榜单。
  • 排名稳定性:榜单是否频繁抖动。
  • 新内容曝光:新热点是否能及时上榜。
  • 防刷效果:异常互动是否被降权。
  • 查询性能:TopN 和分页是否足够快。

这些指标天然冲突。越实时越容易抖动,越稳定越可能错过新热点。

课程主线

我们先建立榜单基础模型,再用 Redis ZSet 承载实时排名;随后设计热度公式和时间衰减;再引入流式计算降低延迟;最后补齐防刷榜、Feed 排序和完整架构。

榜单系统的核心不是一个排序函数,而是“数据采集、热度计算、实时更新、防作弊和展示策略”的组合。

章节