展开全部

主编推荐语

这是一本从源代码角度剖析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的设计与实现等。

目录

  • 版权信息
  • 前言
  • 为什么要写本书
  • 读者对象
  • 如何阅读本书
  • 勘误和支持
  • 致谢
  • 第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 本章小结
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    3.0

    书中代码有些要过时了,背后的设计讲的偏少

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。