流式计算 / 源码阅读 / 15 篇深读
Flink 源码与运行原理
以运行时调用链为线索,建立从 API、调度、网络、状态到可观测性的完整心智模型。每篇都可独立阅读,也可以按推荐顺序完成一轮系统学习。
课程结构
15 篇深读
- 00Apache Flink 架构概览(深度篇)先建立 JobManager、TaskManager、调度器、状态与网络栈之间的整体运行时地图。
- 01Job 提交与调度链路——从 JAR/SQL 到分布式 Task 的全源码穿越追踪一个 JAR 或 SQL 作业如何穿过 Dispatcher、JobMaster 和 Scheduler,最终落成分布式 Task。
- 02流数据端到端链路——Source → Transform → Sink 的全源码穿越沿 Source、Transform、Sink 的端到端链路,理解流记录如何在 Operator Chain 与网络层中移动。
- 03Checkpoint 与 Savepoint 深度解析厘清 Checkpoint、Savepoint、Barrier 与故障恢复之间的边界和协作方式。
- 04State & StateBackend 深度解析从 State API 到 StateBackend,理解状态如何被组织、存储和在恢复时重建。
- 05Window 算子与 Timer 服务深度解析看清 Window 算子、Trigger、TimerService 与时间语义如何共同决定计算何时发生。
- 06Watermark 与事件时间深度解析掌握 Watermark 如何表达乱序边界,以及事件时间计算何时可以安全推进。
- 07Table/SQL Planner — Calcite 集成深度解析从 Table/SQL 到 Calcite 规划器,建立关系代数、优化和物理执行计划的连接。
- 08反压机制深度解析从症状、传播路径和网络流控三个层面理解反压,避免只把它当作一个监控指标。
- 09网络栈 — Netty Shuffle 深度解析深入 Netty Shuffle、ResultPartition 和 Credit-based Flow Control,理解数据如何跨 Task 传输。
- 10Flink 内存模型深度解析拆解 TaskManager 内存模型,区分堆内、直接内存、托管内存与网络内存的用途和约束。
- 11ResourceManager & 调度深度解析理解 ResourceManager、Slot、资源声明和调度策略如何把计算计划落到实际集群资源。
- 12Connector 框架与 Source/Sink API 深度解析从 FLIP-27 Source 与 Sink API 出发,读懂连接器生命周期、并发和一致性的扩展边界。
- 13状态恢复与 Rescale 深度解析解释状态恢复、Key Group、重分区与 Rescale 的实际代价,帮助设计可演进的作业。
- 14监控 & 性能 & 排障深度手册把指标、火焰图、背压、Checkpoint 与故障现象组织为一套可执行的性能排障顺序。