Skip to content

danny0405/flink-source-code-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

flink-source-code-analysis

Apache Flink 源码分析系列,基于 git tag 1.1.2

Apache Flink 被视为第四代的大数据处理框架,它融合了流式计算和批处理【批处理被视为流式计算的特例】

在流式计算方面,使用分布式快照【Checkpoint】实现了高效的数据不丢的机制从而实现 exactly-once 的计算语义;使用 WaterMark 技术实现了窗口计算中延迟数据的处理,同时对流式计算的窗口时间加以分类:processing time、ingestion time、event time

本人觉得 flink 的这些特性一定程序上可以窥探出大数据的未来方向,所以花了些时间来阅读源码,先共享出来希望和大家一起探讨

目前分为一下几个专题:

  • flink 基本组件和逻辑计划:介绍了 flink 的基本组件、集群构建的过程、以及客户端逻辑计划的生成过程
  • flink 物理计划生成:介绍了 flink JobManager 对逻辑计划的运行时抽象,运行时物理计划的生成和管理等
  • jobmanager 基本组件:介绍了 JobManager 的核心组件,它们各自承担的作用
  • flink 算子的生命周期:介绍了 flink 的算子从构建、生成、运行、及销毁的过程
  • taskmanager 的基本组件:介绍了 flink TaskManager 的核心组件,它们在执行节点上发挥的作用
  • flink 网络栈:介绍了 flink 网络层的抽象,包括中间结果抽象、输入输出管理、BackPressure 技术、Netty 连接等
  • flink-watermark-checkpoint:介绍 flink 的核心特性:watermark 对计算时间的管理、checkpoint 实现 exactly-once 计算语义
  • flink-scheduler:介绍 flink 的任务调度算法及负载均衡
  • flink对用户代码异常处理:介绍作业的代码异常后 flink 的处理逻辑,从而更好的理解 flink 是如何保证了 exactly-once 的计算语义

另:本人已将内存更新到博客上: 玉兆的博客 欢迎访问和吐槽!

本人会陆续更新,欢迎随时交流!

About

Apache Flink 源码分析系列,基于 git tag 1.1.2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published