1. 课程导学与项目全景

大家好,欢迎来到《实时指标平台从零搭建》这门课。

先说说我为什么想做这门课。过去几年,我参与过好几个实时数仓和指标平台的项目,踩过不少坑,也积累了一些经验。说实话,市面上讲 Flink、讲 Kafka、讲 Doris 的课程很多,但能把它们串起来,从零完整搭建一个实时指标平台的,还真不多见。所以我想把这块内容整理出来,分享给大家。

实时指标平台是什么

简单来说,实时指标平台就是一个能让你在数据产生后几秒内,就看到业务指标变化的技术系统。

举个例子。你在电商平台上下了一单,系统立刻就能算出今天的 GMV、订单量、客单价。而不是等到第二天早上,才看到昨天的报表。这就是实时指标平台要做的事。

核心特征:

  • 端到端延迟在秒级以内
  • 支持多维度的灵活下钻
  • 数据准确、不丢不重
  • 能支撑高并发查询

为什么需要它

你想想看,现在的业务决策越来越依赖数据。但传统 T+1 的离线数仓,已经跟不上节奏了。

我在项目中遇到过这样一个场景:运营同学想实时监控大促活动的流量和转化率,如果等到第二天才发现问题,活动早就结束了。那损失谁来担?

所以,实时指标平台的价值就体现在这里:

  • 快速决策:业务变化能第一时间感知
  • 降低成本:及时止损,优化资源
  • 提升体验:用户行为实时反馈,个性化推荐更精准
  • 自动化运维:异常指标自动告警,减少人工干预

课程目标与学习路径

这门课的目标很明确:让你能独立搭建一套生产可用的实时指标平台。

我个人习惯把学习路径分成四个阶段:

  1. 基础认知:理解实时指标平台的整体架构和核心概念
  2. 组件搭建:逐个部署 Flink、Kafka、Doris、Redis 等组件
  3. 业务开发:从数据采集、清洗、计算到存储、查询,完整走一遍
  4. 优化与运维:性能调优、监控告警、故障恢复

嗯,这里要注意,每个阶段我都会结合真实项目中的案例来讲,不是纯理论。

技术栈概览

我们这门课选的技术栈,都是经过生产环境验证的。我简单介绍一下:

组件 角色 为什么选它
Flink 实时计算引擎 低延迟、高吞吐、Exactly-Once 语义
Kafka 消息队列 高可用、可持久化、解耦上下游
Doris 实时 OLAP 引擎 秒级查询、高并发、支持实时更新
Redis 缓存 & 状态存储 极速读写、支持复杂数据结构

说白了,这套组合就是:Kafka 负责传数据,Flink 负责算数据,Doris 负责存和查,Redis 负责加速。各司其职,配合默契。

我的建议:如果你之前只用过其中一两个组件,没关系。我会从基础讲起,保证你能跟上。但如果你完全没接触过,建议先花点时间看看官方文档,有个大概印象。

整体架构图

下面这张图,就是我们整个实时指标平台的架构。我把它画出来,方便你有个全局视角。

实时指标平台整体架构 数据源层 业务日志 | 埋点数据 | 数据库 Binlog | 外部 API 消息队列层 Kafka(数据缓冲、削峰填谷、解耦) 实时计算层 Flink(实时 ETL、指标计算、状态管理) 存储与查询层 Doris(OLAP 引擎) | Redis(缓存加速) 应用层 实时大屏 | 指标看板 | 告警系统 | 数据服务 API

注意:这张图是简化版。实际生产环境中,每一层都可能有多组件协同工作。比如 Kafka 可能会做多集群容灾,Flink 会做 Checkpoint 和 Savepoint 管理。这些细节我们会在后续章节逐一展开。

避坑指南

最后,分享几个我踩过的坑:

  • 我曾经在选型时盲目追求新技术,结果团队没人会运维,出了问题只能干瞪眼。所以,技术栈要选成熟的、社区活跃的。
  • 我曾经忽略了数据源的稳定性,结果 Kafka 消费端频繁报错,导致指标延迟。后来加了数据质量监控,才解决问题。
  • 我曾经以为 Doris 和 Redis 可以互相替代,后来发现它们各有侧重。Doris 适合复杂分析,Redis 适合简单查询。搭配使用才是最优解。