完整架构

完整的视频推荐流系统可以分成四条链路:

内容链路:上传 -> 转码 -> 审核 -> 入推荐池
分发链路:对象存储 -> CDN -> 播放器
推荐链路:召回 -> 排序 -> 重排 -> Feed 返回
反馈链路:曝光 -> 行为 -> 特征 -> 模型/策略更新

四条链路缺一不可。只有算法没有内容供给,推荐会枯竭;只有内容没有反馈,推荐无法个性化;只有推荐没有分发,播放体验会拖垮留存。

分层架构

┌─────────────────────────────────────────────────────────────────┐
│                       内容链路                                   │
│  视频上传 -> 转码/截图 -> 审核 -> 发布 -> 入推荐池(recommendable)│
└──────────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                       推荐链路                                   │
│  多路召回(关注/热门/兴趣/相似/协同/探索)                       │
│   -> 过滤去重(曝光/违规/不可播放)                              │
│   -> 多目标排序 -> 重排(多样性/作者频率/探索)                  │
└──────────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                       分发链路                                   │
│  对象存储 -> CDN 边缘节点 -> 播放器(首帧优化/预加载/多码率)     │
└──────────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                       反馈链路                                   │
│  曝光/播放/完播/点赞/跳过/举报 -> 特征平台 -> 模型与策略更新      │
└─────────────────────────────────────────────────────────────────┘

最终请求流程

  1. 客户端带上用户、设备、网络和游标请求下一页。
  2. 推荐服务读取用户画像、最近行为和曝光历史。
  3. 多路召回生成候选视频。
  4. 候选经过过滤和去重,去掉已曝光、违规或不可播放内容。
  5. 排序模型为候选打分。
  6. 重排层控制多样性、新鲜度、作者频率和探索内容。
  7. 返回视频卡片、播放 URL、封面和推荐上下文。
  8. 客户端上报曝光、播放、完播、点赞、跳过等行为。

核心数据

数据作用
video_metadata视频状态、作者、时长、标签、播放资源
user_profile用户兴趣、长期偏好、风险状态
behavior_log曝光、播放、完播、互动、负反馈
feature_store在线和离线特征
experiment_log策略版本、实验分组、效果指标

曝光日志尤其重要。没有曝光,就无法判断用户没有互动是因为不喜欢,还是根本没看到。

多目标排序

score = a * p_click + b * p_finish + c * p_like - d * p_report + diversity_bonus

权重通过实验和业务目标调整。只优化单一目标,系统容易走偏。

降级策略

  • 特征服务或排序模型超时时,降级到缓存、热门或轻量模型。
  • 推荐服务感知转码、审核和 CDN 状态,避免推荐坏内容。
  • 高峰期用离线预计算 + 在线轻量打分,控制延迟预算。

关键指标

  • 首帧时间、刷新延迟、点击率、完播率、点赞率、关注率。
  • 跳出率、连续跳过率、内容多样性、新内容曝光率。
  • 违规内容曝光率和投诉率。

指标之间会冲突,需要通过实验和护栏指标平衡。这套架构的关键在于:内容、分发、推荐、反馈四条链路形成数据闭环,系统才能持续进化。