万本电子书0元读

万本电子书0元读

顶部广告

Flink设计与实现:核心原理与源码解析电子书

(1)作者资深:Apache Flink源码贡献者,多年Flink发经验,第四范式AI数据平台架构师。(2)深原理:从源代码角度剖析Flink设计思想、架构原理以及各功能模块的底层实现原理。(3)化繁为简:用大量架构设计图、UML图和代码注释降低读者阅读和理解Flink源代码的门槛。(4)专家好评:前腾讯、360、趣头条、明源云等企业的大数据专家一致好评和推荐。

售       价:¥

纸质售价:¥93.10购买纸书

51人正在读 | 0人评论 6.7

作       者:张利兵

出  版  社:机械工业出版社

出版时间:2021-07-01

字       数:67.4万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
内容简介 这是一本从源代码角度剖析Flink设计思想、架构原理以及各功能模块的底层实现原理的著作。 作者是Flink领域的资深技术专家和架构师,对Flink的源代码行了深分析和解读,同时融了自己丰富的工程实践经验,既能让理解Flink的设计与实现原理,又能为他们解决性能优化等实际应用问题提供源码级别的指导。源码大多艰涩难懂,为了降低读者的学习门槛,本书提供了大量架构设计图、UML图和代码注释。 通过阅读本书,你将: ?彻底掌握Flink源码设计与实现 ?深度掌握Flink作业运行流程 ?深了解Flink部署模式实现原理 ?深度掌握Flink Runtime设计和实现原理 ?庖丁解牛Flink网络通信原理 ?探索Flink内存管理实现 ?深了解Flink口设计 ?从Flink源码中学习架构设计经验<br/>【推荐语】<br/>(1)作者资深:Apache Flink源码贡献者,多年Flink发经验,第四范式AI数据平台架构师。(2)深原理:从源代码角度剖析Flink设计思想、架构原理以及各功能模块的底层实现原理。(3)化繁为简:用大量架构设计图、UML图和代码注释降低读者阅读和理解Flink源代码的门槛。(4)专家好评:前腾讯、360、趣头条、明源云等企业的大数据专家一致好评和推荐。<br/>【作者】<br/>作者简介 张利兵 资深架构师,流式计算领域专家,第四范式华东区AI项目架构师,原明略数据华东区大数据架构师。 有多年大数据、流式计算方面的发经验,对Hadoop、Spark、Flink等大数据计算引擎有着非常深的理解,积累了丰富的项目实践经验。先后利用相关技术为银行、证券、地铁等领域的头部企业构建了内部大数据平台,参与了基于Flink的实时反欺诈风控、实时地铁故障预警等流式计算平台的设计和研发。<br/>
目录展开

前言

第1章 Flink设计理念与基本架构

1.1 Flink基本设计思想

1.1.1 Stratosphere系统架构

1.1.2 DataFlow模型的设计思想

1.1.3 分布式异步快照算法

1.2 Flink整体架构

1.2.1 架构介绍

1.2.2 Flink集群架构

1.2.3 核心概念

1.3 Flink源码分析与编译

1.3.1 源码编译

1.3.2 源码调试环境搭建

1.4 本章小结

第2章 DataStream的设计与实现

2.1 DataStream API的主要组成

2.1.1 DataStream API应用实例

2.1.2 Transformation详解

2.2 StreamOperator的定义与实现

2.2.1 StreamOperator接口实现

2.2.2 OneInputStreamOperator与TwoInputStreamOperator

2.2.3 StreamOperatorFactory详解

2.3 Function的定义与实现

2.3.1 RichFunction详解

2.3.2 SourceFunction与SinkFunction

2.3.3 ProcessFunction的定义与实现

2.4 TimerService的设计与实现

2.4.1 时间概念与Watermark

2.4.2 TimerService时间服务

2.5 DataStream核心转换

2.5.1 KeyedStream与物理分区

2.5.2 WindowedStream的设计与实现

2.6 本章小结

第3章 运行时的核心原理与实现

3.1 运行时的整体架构

3.1.1 运行时整体架构概览

3.1.2 集群的启动与初始化

3.2 运行时组件的创建和启动

3.2.1 集群组件的创建和启动

3.2.2 WebMonitorEndpoint的创建与初始化

3.2.3 Dispatcher的创建与初始化

3.2.4 ResourceManager的创建与初始化

3.2.5 TaskManager的创建与启动

3.3 集群资源管理

3.3.1 ResourceManager详解

3.3.2 ResourceManagerGateway接口实现

3.3.3 Slot计算资源管理

3.4 系统高可用与容错

3.4.1 HighAvailabilityServices的设计与实现

3.4.2 基于ZooKeeper实现高可用

3.4.3 JobGraphStore的设计与实现

3.5 本章小结

第4章 任务提交与执行

4.1 客户端作业提交

4.1.1 命令行提交

4.1.2 创建和初始化CLIFrontend

4.1.3 PackagedProgram构造

4.2 ExecutionEnvironment初始化

4.2.1 ExecutionEnvironment类型

4.2.2 StreamExecutionEnvironment详解

4.3 将Pipeline转换成JobGraph

4.3.1 用Transformation生成StreamGraph

4.3.2 将StreamGraph转换为JobGraph

4.3.3 将JobGraph提交到集群运行时

4.4 JobGraph的接收与运行

4.4.1 JobGraph提交整体流程

4.4.2 Dispatcher任务与分发

4.4.3 JobManager启动与初始化

4.4.4 JobMaster详解

4.5 ExecutionGraph的调度与执行

4.5.1 ExecutionGraph生成

4.5.2 SchedulerNG调度器

4.6 Task的执行与注销

4.6.1 Task的启动与注销

4.6.2 AbstractInvokable的加载与初始化

4.6.3 StreamTask详解

4.6.4 StreamTask线程模型

4.6.5 Task重启与容错策略

4.7 本章小结

第5章 集群部署模式

5.1 基本概念

5.1.1 ClusterClient的创建与获取

5.1.2 ClusterEntrypoint集群启动类

5.2 Flink On Yarn的设计与实现

5.2.1 Yarn架构的设计与实现

5.2.2 Session集群的部署与启动

5.2.3 YarnResourceManager详解

5.3 Flink On Kubernetes的设计与实现

5.3.1 Flink On Kubernetes架构

5.3.2 Session集群的部署与启动

5.3.3 KubernetesResourceManager详解

5.4 本章小结

第6章 状态管理与容错

6.1 状态数据管理

6.1.1 状态数据类型

6.1.2 状态初始化流程

6.2 KeyedState的创建与管理

6.2.1 KeyedStateBackend的整体设计

6.2.2 HeapKeyedStateBackend的实现

6.3 OperatorState的创建与管理

6.3.1 OperatorStateBackend的整体设计

6.3.2 基于DefaultOperatorStateBackend创建OperatorState

6.4 StateBackend详解

6.4.1 StateBackend的整体设计

6.4.2 MemoryStateBackend的实现

6.5 Checkpoint的设计与实现

6.5.1 Checkpoint的实现原理

6.5.2 Checkpoint的触发过程

6.6 本章小结

第7章 网络通信

7.1 集群RPC通信机制

7.1.1 Flink RPC框架的整体设计

7.1.2 AkkaRpcService详解

7.1.3 RpcServer动态代理实现

7.1.4 AkkaRpcActor的设计与实现

7.1.5 集群组件之间的RPC通信

7.2 NetworkStack的设计与实现

7.2.1 NetworkStack概览

7.2.2 StreamTask数据流

7.2.3 RecordWriter详解

7.2.4 ShuffleMaster与ShuffleEnvironment

7.2.5 ResultPartition与InputGate详解

7.2.6 ConnectManager的设计与实现

7.2.7 NetworkBuffer资源管理

7.3 基于信用值的反压机制实现

7.3.1 反压机制理论基础

7.3.2 基于信用值的反压机制详解

7.4 本章小结

第8章 内存管理

8.1 内存管理概述

8.1.1 积极的内存管理

8.1.2 Flink内存模型

8.2 MemorySegment的设计与实现

8.2.1 MemorySegment架构概览

8.2.2 MemorySegment详解

8.2.3 MemorySegment内存使用

8.3 DataInputView与DataOutputView

8.3.1 DataInputDeserializer和DataOutputSerializer

8.3.2 DataInputViewStreamWrapper与DataOutputViewStreamWrapper

8.3.3 AbstractPagedInputView与AbstractPagedOutputView

8.4 数据序列化与反序列化

8.4.1 TypeInformation类型系统

8.4.2 RecordSerializer与Recorddeserializer

8.5 本章小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部