Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hugh018/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

AltStyle によって変換されたページ (->オリジナル) /