每日一书丨源码剖析Flink设计思想,解决Flink中的难题
Posted 《新程序员》编辑部
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一书丨源码剖析Flink设计思想,解决Flink中的难题相关的知识,希望对你有一定的参考价值。
流计算从出现到普及,经历了非常多的变化——从早期Apache Storm等技术的落地和使用,到现在越来越多的公司选择使用Apache Flink作为流处理核心技术。Flink以其强大的批流一体处理能力以及低延迟、高吞吐等特性,正在吸引着越来越多的公司和用户加入Flink社区。
对于想要学习并掌握一门技术的开发者来说,最重要的是从原理入手,循序渐进、由浅入深地学习,然后再慢慢深入技术的内部实现。
为大家介绍一本将Flink源码讲透的书《Flink设计与实现:核心原理与源码解析》,帮助那些想深入理解源码、深度掌握Flink底层核心技术实现但没有太多时间进行研究的读者。本书可以帮助读者更加游刃有余地将Flink这项技术应用到实际工作中。
学习源码不仅能提升技术功底,还能加深对技术的理解。要想深度掌握一项技术,可以说没有什么方法比阅读源码更加有效了。通常情况下,阅读源码有较高的技术门槛,不易下手,我们需要对技术有一定的理解和认识,至少能够非常熟练地将其应用在实际工作之中,才能更好地了解其底层运行原理。否则在不了解框架使用的情况下贸然学习源码实现,非常容易陷入混乱和迷惑的状态,从而极大地影响学习体验。
本书将从多个方面介绍Flink原理实现与源码,包括Flink各类编程接口的设计和实现以及集群运行时等内部原理。
全书共8章:
-
第1章介绍Flink设计理念与基本架构;
-
第2章介绍DataStream的设计与实现;
-
第3章介绍运行时的核心原理与实现,包括Dispatcher、ResourceManager以及JobManager等核心组件的源码级解析和介绍;
-
第4章介绍Flink任务提交与执行的整体流程,包括客户端实现、运行时作业执行过程、JobGraph及ExecutionGraph图转换等;
-
第5章介绍不同的集群部署模式,包括On Yarn、On Kubernetes等;
-
第6章介绍状态管理与容错,包括不同类型状态后端的设计与实现;
-
第7章介绍Flink网络通信,包括RPC通信以及基于Netty实现的网络栈;
-
第8章介绍Flink内存管理,包括MemorySegment的设计与实现等。
声明:本文转自“华章计算机”公众号
以上是关于每日一书丨源码剖析Flink设计思想,解决Flink中的难题的主要内容,如果未能解决你的问题,请参考以下文章