1. 课程导论:实时评分系统的定义、应用场景与学习路径

1.1 什么是实时评分系统

实时评分系统是一类能够在毫秒至秒级延迟内,对用户行为、内容质量或交互结果进行量化打分,并将结果即时反馈给前端展示的技术架构。其核心特征在于“边发生、边计算、边呈现”,区别于传统批处理评分模式。

维度 实时评分系统 传统批处理评分
延迟要求 P99 < 500ms 分钟级 ~ 天级
数据源 流式事件(点击、点赞、弹幕) 离线日志、数据库快照
计算引擎 Flink / Spark Streaming / 内存计算 MapReduce / Hive / SQL
结果一致性 最终一致性,允许短暂抖动 强一致性
典型场景 直播热度、电商动态评分 月报统计、历史排名
关键指标: 实时评分系统的核心 SLA 通常包含三项——端到端延迟(事件产生到前端展示)、吞吐量(每秒处理事件数)、准确率(与离线基准值的偏差 < 1%)。

1.2 核心应用场景

实时评分已渗透到互联网产品的多个领域,以下三个场景最具代表性:

  • 直播互动评分: 基于观众点赞、送礼、停留时长、弹幕密度等指标,实时计算主播“热度值”或“互动指数”,用于推荐排序和榜单更新。
  • 电商动态评分: 根据用户浏览、加购、下单、评价等行为,实时更新商品“综合评分”或“店铺信誉分”,影响搜索排名与流量分配。
  • 游戏竞技评分: 在 MOBA、FPS 等游戏中,根据击杀、助攻、经济、承伤等数据,实时计算玩家“表现分”或“段位分”,支持动态匹配与结算。
行业趋势: 2024 年头部直播平台已将评分更新频率从 5 秒提升至 1 秒,电商大促期间评分系统的峰值 QPS 可达 200 万以上。

1.3 实时评分系统架构总览

下图展示了实时评分系统的四层核心架构,涵盖从数据采集到前端展示的完整链路:

实时评分系统四层架构 数据采集层 SDK 埋点 · 消息队列(Kafka / Pulsar) · 日志采集器 实时计算层 Flink 流处理 · 窗口聚合 · 评分规则引擎 · 状态管理 存储与缓存层 Redis 实时结果缓存 · MySQL / TiDB 持久化 · 时序数据库 API 与展示层 REST / WebSocket API · 前端 SDK · 实时看板 · 移动端
架构要点: 每一层都具备水平扩展能力;计算层与缓存层之间的数据流采用“写回 + 推拉结合”模式,确保高并发下延迟可控。

1.4 课程目标与学习路径

本课程旨在帮助学员掌握从零构建生产级实时评分系统的完整能力,具体目标如下:

模块 核心能力 产出物
基础篇(第1-5章) 理解实时评分系统架构、数据模型与评分算法 评分系统架构设计文档
计算篇(第6-12章) 掌握 Flink 流处理、窗口聚合、状态管理与容错 可运行的实时计算作业
存储篇(第13-18章) 设计 Redis 缓存策略、时序数据库选型与数据持久化 缓存与存储方案
API篇(第19-24章) 设计 RESTful / WebSocket API,实现高并发接口 API 文档与 SDK
实战篇(第25-30章) 全链路压测、监控告警、灰度发布与运维 生产级部署方案
学习建议: 建议每周投入 6-8 小时,按“理论 → 动手实验 → 复盘总结”的节奏推进。每章末尾的“动手实验”环节务必独立完成。

1.5 课程知识图谱

下图展示了本课程 30 章内容之间的依赖关系与学习主线,帮助学员建立全局视野:

课程知识图谱与学习主线 基础篇(1-5章) 计算篇(6-12章) 存储篇(13-18章) API篇(19-24章) 实战篇(25-30章) 学习主线说明 基础篇 → 计算篇 → 存储篇 → API篇 → 实战篇(串行依赖) 计算篇与存储篇可并行学习,但建议先完成计算篇再进入存储篇 实战篇依赖前四篇全部知识,建议最后集中攻克
避坑提示: 不建议跳过基础篇直接进入计算篇或 API 篇。实时评分系统的数据模型与评分算法是后续所有模块的根基,跳过会导致后续实验无法理解状态设计与窗口语义。