专栏简介

本专栏面向已有 Flink 使用经验、希望深入理解底层机制并具备系统调优能力的高级工程师。聚焦于为什么 Flink 这样工作——从作业提交到执行图生成,从内存模型到网络反压,从状态后端设计到 Checkpoint 的分布式一致性算法,每一个机制背后都有清晰的工程原因。

理解了这些原理,你才能在遇到性能瓶颈时做出正确的判断:是并行度不够?是状态后端配置不当?是 RocksDB 写放大?还是网络层的 Buffer 不足导致反压?调优从来不是靠”经验公式”,而是靠对原理的深刻理解。

适合人群

  • Flink 应用工程师,希望突破”会用”到”精通”的壁垒
  • 大数据平台工程师,负责 Flink 集群容量规划与稳定性保障
  • 希望深入理解流处理技术底层设计的技术专家

技术版本

本专栏基于 Apache Flink 1.18.x / 1.19.x,部分源码分析基于 Flink master 分支。

文章目录

序号文章核心内容
0101 Flink 架构总览:JobManager、TaskManager 与执行模型JM/TM 核心职责、Task/Subtask/Slot 关系、Dispatcher/ResourceManager/JobMaster 三角
0202 从 StreamGraph 到 JobGraph 再到 ExecutionGraph流图生成、算子链优化、并行化展开、执行图的数据结构
0303 Flink 内存模型深度解析TM 内存五大分区、MemorySegment 设计、堆外内存的 off-heap 原理、调优参数全景
0404 Flink 网络传输与反压机制深度解析NetworkBuffer 池、Credit-based 流量控制、反压传播路径、Unaligned Checkpoint 背后的网络代价
0505 Flink 状态后端深度解析:HashMapStateBackend vs RocksDBStateBackend状态读写路径、RocksDB 写放大与 Compaction、增量 Checkpoint 实现、生产选型决策
0606 Flink Checkpoint 机制深度解析Chandy-Lamport 分布式快照算法、Barrier 对齐 vs 非对齐、增量 Checkpoint、端到端 Exactly-Once
0707 Flink 时间与 Watermark 底层机制水位线生成与传播算法、多流 Watermark 对齐策略、Idle Source 检测、迟到数据的完整处理链路
0808 Flink SQL 与 Blink Planner 深度解析Apache Calcite 解析优化流程、动态表与流的数学等价性、Join 策略(Interval/Temporal/Regular)
0909 Flink 性能调优体系并行度决策方法论、数据倾斜处理、RocksDB 深度调优、网络层调优、GC 调优完整框架
1010 Flink 大规模生产实践:稳定性与容错Failover 策略对比、JobManager HA 机制、大状态作业管理、Savepoint 最佳实践

推荐阅读路径

系统性深入:01 → 02 → 03 → 04 → 05 → 06(按依赖顺序,理解执行模型后再理解内存和网络)

遇到性能问题:先读 09(调优体系全景),再根据具体瓶颈查阅 03(内存)/04(网络反压)/05(状态后端)

Checkpoint 调优:05 → 06(先理解状态后端,再理解 Checkpoint 机制)

与姊妹专栏的关系

姊妹篇 Flink 从入门到实战 覆盖了 API 使用和生产部署实践,建议先熟悉入门实战,再深入本专栏的原理层分析。


关联专栏

  • Flink 入门实战:姊妹专栏,API 使用与生产部署
  • RocksDB:Flink RocksDB StateBackend 的底层存储引擎
  • JVM:Flink 是 Java 应用,JVM 内存管理与 GC 影响 TaskManager 性能
  • YARN:Flink on YARN 的资源申请与容器管理
  • Kafka:Kafka Source/Sink 的 Exactly-Once 语义