|
Java电子书:Flink设计与实现:核心原理与源码解析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com& r5 \0 T6 e8 T8 e; \5 N
& l& |& U$ D1 p/ t5 l0 l
! S' x" u6 z& X0 C$ o3 j$ \: v s; x编号:mudaima-P0304【Java吧 java8.com】
# z. Y! g" G) z" Z1 T" M
+ L0 A6 ]& ~7 ~" T. m: J3 f2 Q8 B8 P& L/ Y8 P" }
4 t; _2 h) ~5 K- E# [0 o- bJava电子书目录:第1章 Flink设计理念与基本架构 1# A$ M: p: Z4 f2 r( \: f% z" f- ?, r
1.1 Flink基本设计思想 1
+ C* ?$ D/ [, s' k* ~, Z" s1.1.1 Stratosphere系统架构 1
7 K' J0 }# E2 P, P1 t7 F, }1.1.2 DataFlow模型的设计思想 3
6 _( n( G& U/ {! S" Q5 k ~1.1.3 分布式异步快照算法 6- I0 Q$ E6 P; l
1.2 Flink整体架构 9/ b3 o2 \% I" X
1.2.1 架构介绍 9" n$ i3 R8 K& s3 S `1 b
1.2.2 Flink集群架构 11
+ c5 x+ |% j7 o9 o1.2.3 核心概念 12/ o9 ~' h- J2 B6 g6 N) w, m
1.3 Flink源码分析与编译 144 I: f4 w+ \6 }. z Y3 `
1.3.1 源码编译 14' ]5 h% _$ T/ ~2 m2 z1 ]
1.3.2 源码调试环境搭建 15+ B: \# u% m8 `
1.4 本章小结 19
& z* d& R L! C% z' v1 P+ j第2章 DataStream的设计与实现 20
7 o- H1 r% q: Y9 J2 @2.1 DataStream API的主要组成 203 w3 O1 f# M/ u$ @
2.1.1 DataStream API应用实例 20
+ E- s. @+ y* H2.1.2 Transformation详解 230 Z3 \. r0 m$ m1 y+ k6 O0 @
2.2 StreamOperator的定义与实现 25
% d3 I3 _3 `* E4 U" F2.2.1 StreamOperator接口实现 26
& `7 D% X9 e V5 E2.2.2 OneInputStreamOperator与TwoInputStreamOperator 31" T. j2 q- s5 f* B" v
2.2.3 StreamOperatorFactory详解 337 q( P0 t- E; Q Q( e: M8 G
2.3 Function的定义与实现 35
6 K; y& ^" p9 [( k$ @& J6 S* x2.3.1 RichFunction详解 36
' C) B9 L0 z( @% H& Y2.3.2 SourceFunction与SinkFunction 386 G- }$ [ Z. ?* A
2.3.3 ProcessFunction的定义与实现 44# @" x, r5 q% {" \; v
2.4 TimerService的设计与实现 47
" H+ i. @( K; Z% d3 e. U5 D: E$ G/ g5 L2.4.1 时间概念与Watermark 472 S0 m" N1 [4 n0 s
2.4.2 TimerService时间服务 53
* o: S( f. h! a1 O$ R' F/ ]2.5 DataStream核心转换 59
" v0 \# b/ H( ~* ?0 i7 C. k2.5.1 KeyedStream与物理分区 59
q/ A" a b6 i8 T2.5.2 WindowedStream的设计与实现 62
$ O7 `0 r$ A/ C" N: u# I) s) T2.6 本章小结 68' e Y9 M! C! k
第3章 运行时的核心原理与实现 69" G1 }) S* B9 g+ A' L5 i# [
3.1 运行时的整体架构 69
% s( ^8 U' H. C3.1.1 运行时整体架构概览 69
& d4 e( ~8 @" U3.1.2 集群的启动与初始化 72/ e, @0 `6 ^& B1 a
3.2 运行时组件的创建和启动 79) ?7 {9 N3 [$ S% A' j4 }5 A/ C
3.2.1 集群组件的创建和启动 79 M+ d# d8 a" k: w
3.2.2 WebMonitorEndpoint的创建与初始化 85
% `2 M0 D V( F8 q# R3.2.3 Dispatcher的创建与初始化 91
9 U+ k; t$ \" y3.2.4 ResourceManager的创建与初始化 98
m$ Y7 f+ R( d% F w3 b/ x$ x3.2.5 TaskManager的创建与启动 106
4 d; k$ v' ~+ `# Q, k3.3 集群资源管理 115( e) p, M9 {7 _4 C1 t
3.3.1 ResourceManager详解 116
7 |9 J& P! T6 V! R. U7 p3.3.2 ResourceManagerGateway接口实现 118$ t1 Z9 g- C5 F9 x* x0 z, j/ w
3.3.3 Slot计算资源管理 119
1 p; B% @5 C/ v1 y& z$ e# K- q3.4 系统高可用与容错 130
$ O! |6 r( C' r7 M, q3 V3.4.1 HighAvailabilityServices的设计与实现 130! K8 m; q1 v* O7 {
3.4.2 基于ZooKeeper实现高可用 135
7 c' v: u; t! T8 ^- n* O8 r: E3.4.3 JobGraphStore的设计与实现 141
5 s, o' D4 j5 J" t; q* x3.5 本章小结 144
, Z l+ V) K- j' b8 Q P: q4 k第4章 任务提交与执行 145
, E: f N! N: ~% m, B. T. I4.1 客户端作业提交 145
: _. K. q/ P; |8 z$ M4.1.1 命令行提交 145
$ U$ f7 n/ T& F; Q" D- g4.1.2 创建和初始化CLIFrontend 1484 e6 s @- k) F; k; ~! }
4.1.3 PackagedProgram构造 1502 p9 y1 S2 o; L8 r/ x" f
4.2 ExecutionEnvironment初始化 152% w+ Y4 R. l3 t5 E* e
4.2.1 ExecutionEnvironment类型 152
0 f3 m4 X/ _- m- d, j4.2.2 StreamExecutionEnvironment详解 154
* h" _2 z/ O' g: z* G' @- f4.3 将Pipeline转换成JobGraph 161
7 j0 L! j! y/ `+ `! u+ N+ E4.3.1 用Transformation生成StreamGraph 1627 O" v5 Z$ h( |% I" c) T
4.3.2 将StreamGraph转换为JobGraph 169
, j4 V* V3 P8 U+ F4.3.3 将JobGraph提交到集群运行时 176
[* D0 ~9 P8 s( H) _4.4 JobGraph的接收与运行 178
; C9 b6 q! K( V& W( G# @4.4.1 JobGraph提交整体流程 178# E$ H1 @# e% G
4.4.2 Dispatcher任务与分发 180
6 `: l+ [& u# W: O" w4.4.3 JobManager启动与初始化 184
6 I# T- R& `. K+ ~9 [) r4.4.4 JobMaster详解 188# R- `; c- U i$ e C F! C1 @
4.5 ExecutionGraph的调度与执行 195
+ c+ i' e& |$ v- `' c4.5.1 ExecutionGraph生成 198
# R5 C I0 @7 |4 V9 g5 @4.5.2 SchedulerNG调度器 200
7 }6 q! @8 e& b$ ~, n$ h! m1 {4.6 Task的执行与注销 206
: _: [9 j% t8 H+ i+ J; V4 _4.6.1 Task的启动与注销 208# m" V& D$ n3 }* L5 q
4.6.2 AbstractInvokable的加载与初始化 211 w0 v4 e5 W+ ^% Z
4.6.3 StreamTask详解 212
1 f1 A& T+ K) w6 m/ l$ b4.6.4 StreamTask线程模型 216 Z' I9 q' \, N4 G& ^8 z2 B% b
4.6.5 Task重启与容错策略 2237 p5 e8 h+ @2 p2 A+ }. A/ T* u
4.7 本章小结 2341 w# G! e0 f7 y, W9 P9 ?2 x
第5章 集群部署模式 235
; W8 q) j5 A, o5.1 基本概念 235
. ?) R. E3 K' l7 Q; I3 @/ P5.1.1 ClusterClient的创建与获取 235$ Z3 f& N2 T+ x* I! r) r4 o
5.1.2 ClusterEntrypoint集群启动类 241
: b) i- {. ~( L0 w! M3 o+ c% N- _: w5.2 Flink On Yarn的设计与实现 245
3 U2 O8 x; a% f& V/ L# p% [ d" q& k5.2.1 Yarn架构的设计与实现 245; C; v D) q3 S# y( n- h% c
5.2.2 Session集群的部署与启动 247
# M+ z& ^: g6 h! e1 [5.2.3 YarnResourceManager详解 253! \1 q9 O& e" |5 D6 B, T
5.3 Flink On Kubernetes的设计与实现 258
- Z9 I1 C/ \* s$ B& u2 P# {6 N& f5.3.1 Flink On Kubernetes架构 259
6 Q/ E$ C# X" F( b) \" t5.3.2 Session集群的部署与启动 261
1 P9 {, {$ F5 g$ M5.3.3 KubernetesResourceManager详解 268
+ y; ~+ @- i" r" A& ]" |4 Z5.4 本章小结 2747 v; h9 F; R4 C( A- G) P6 R/ @% @
第6章 状态管理与容错 275/ w+ X9 M" v( L) F2 ~; a
6.1 状态数据管理 2757 j% A% U% \+ @2 d" G3 C
6.1.1 状态数据类型 2754 e! Z [: o% ?8 _# N1 y' c
6.1.2 状态初始化流程 279
1 J5 L! q5 |7 S6.2 KeyedState的创建与管理 285
# J1 d! p% j( z3 y2 n2 |' p7 N; t6.2.1 KeyedStateBackend的整体设计 2855 w2 L/ o, L4 e7 A+ o0 ^, v/ v
6.2.2 HeapKeyedStateBackend的实现 286
% k, b2 F* z# K5 K- n: }6.3 OperatorState的创建与管理 295
2 B0 `! `: |7 H9 V B& I, G6.3.1 OperatorStateBackend的整体设计 2951 s( G r! b3 |* [3 G% }
6.3.2 基于DefaultOperatorState-Backend创建OperatorState 296" O3 \2 y" O9 v* Q I1 n( B
6.4 StateBackend详解 2990 g1 d) l! X& v e7 X
6.4.1 StateBackend的整体设计 299
, {5 @- |. E' F1 Q4 q6.4.2 MemoryStateBackend的实现 303
3 l+ ?4 s0 f. o* M# k6.5 Checkpoint的设计与实现 308
. i6 H7 p6 O3 Q6 s- E; c6.5.1 Checkpoint的实现原理 308
& z- M# ~0 x$ s8 P5 [/ \" B4 j6.5.2 Checkpoint的触发过程 315/ m& U5 H/ b6 n! N0 G! v1 v2 Q# }/ |
6.6 本章小结 341
& m; z7 w8 [' }( M6 P8 R+ f第7章 网络通信 342
- y/ d( v8 P8 {9 O; T7.1 集群RPC通信机制 342
B2 J* V# q" S" u1 u' L/ d7.1.1 Flink RPC框架的整体设计 342
+ D+ L* Z/ M* S6 ]6 `' O7.1.2 AkkaRpcService详解 347 C( p% G1 ^8 J' P4 @/ P) M
7.1.3 Rp * [5 b1 i L+ Y2 n5 p
+ T! n' X6 G6 g& ~5 d0 G
6 d D5 D4 Z. y; A0 [- l百度云盘下载地址(完全免费-绝无套路):/ z3 \* b7 Y& g0 F8 {
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|