TA的每日心情 | 开心 17 小时前 |
---|
签到天数: 396 天 [LV.9]以坛为家II
管理员
- 积分
- 12978
|
Java电子书:Kafka源码解析与实战 PDF 电子书 Java吧 java8.com% S/ D; U0 `! U4 D
7 C5 L0 s- V2 |* p- |4 h作者:王亮出版社:机械工业出版社出版时间:2017年12月 ' E3 ?& P- B) v
) L% m2 {' q8 f! b9 q7 D' X
编号:166-Java吧资源免费-X0111【Java吧 java8.com】
8 d! V3 H8 @2 i, h/ [0 K7 w9 n- a& c1 [, d! r3 I# Z2 O* j- {
! E, _6 W/ N/ `
: K' P+ p' v5 N$ @
目录:
0 W' a" f5 x+ D5 P第1章 Kafka简介 18 b! H. h2 Y, n. ]) J% d
1.1 Kafka诞生的背景 1
+ t7 {; A1 `3 i0 D. ~' O1 I7 }1.2 Kafka在LinkedIn内部的应用 3" P; j1 A, x: P4 ^, b
1.3 Kafka的主要设计目标 4% A, B/ W1 i# l8 r
1.4 为什么使用消息系统 4 Q3 s. U l' B+ @, [4 }
1.5 本章小结 5
) y4 L% y% C* H9 O: C& [第2章 Kafka的架构 69 ^' o2 p ]% U& t9 u7 U- J
2.1 Kafka的基本组成 66 c- R( N4 y* n) q* C. f6 i
2.2 Kafka的拓扑结构 8! r( a# v# L7 ^& c' p& o
2.3 Kafka内部的通信协议 9
/ j5 U$ K4 ^ ~, z) {2.4 本章小结 12& G* T5 @& L9 x8 K( S# D6 N) S
第3章 Broker概述 132 n3 ^+ m6 F3 G! ^2 }$ m
3.1 Broker的启动 134 J8 X- {5 z5 ?% P
3.2 Broker内部的模块组成 15' K8 f. @. c- }( l2 j1 A
3.3 本章小结 180 o1 u* A$ m% j5 A0 j( ^
第4章 Broker的基本模块 19
9 R" l0 ]; ~' _; V! I. g0 T4.1 SocketServer 19* C! D& w% [% g
4.2 KafkaRequestHandlerPool 25
" _9 b# f7 b0 {$ x. Q4.3 KafkaApis 27" I3 a' M! s7 x, M6 |. J* z
4.3.1 LogManager 27
0 I @: T( Z( T; D5 ]& `4.3.2 ReplicaManager 37: N0 n+ x/ z" |. d
4.3.3 OffsetManager 47
& X' y; s) j6 F' m& t" Q8 _8 n4.3.4 KafkaScheduler 51! f4 B2 c* b- o f, {) `
4.3.5 KafkaApis 52
# P/ s8 s5 d+ I) y4.4 KafkaHealthcheck 81
4 \: Y3 _6 J/ r! e2 {3 Z3 u% p" e; i4.5 TopicConf?igManager 83
9 I+ G4 Z6 v+ @4.6 本章小结 85
% _9 U9 s3 Z, p1 ^% e* _; |第5章 Broker的控制管理模块 86; U; j" i5 E1 G
5.1 KafkaController的选举策略 86
, q- F( f' Y+ [- o3 D3 t4 p8 t2 U5.2 KafkaController的初始化 91; Y% n% M1 [5 u
5.2.1 Leader状态下KafkaController的初始化 91
3 B* c1 b3 m& R _7 {5.2.2 Standby状态下KafkaController的初始化 94
) n0 Z0 }1 j1 d- l7 S, ]4 Q5.3 Topic的分区状态转换机制 95
0 o+ |0 s F X2 j! ~8 i7 q5.3.1 分区状态的分类 95
, a [5 _. {- \: T" P5.3.2 分区状态的转换 96
% a7 Y* S: @$ z5.3.3 PartitionStateMachine模块的启动 102$ d$ Z9 Q. A( j' r" X7 y+ E8 {" Z4 a
5.4 Topic分区的领导者副本选举策略 103: z% a! P- U; T' _
5.4.1 NoOpLeaderSelector 104) I6 K2 m2 y1 F0 I. \. O% J3 X. G
5.4.2 Off?linePartitionLeaderSelector 104; c% L3 [. W7 C+ C% Q( k0 n9 w( o
5.4.3 ReassignedPartitionLeader-Selector 106
T0 |, g+ ~7 y n( z5.4.4 PreferredReplicaPartition-LeaderSelector 107; ]) J5 Z( [+ ]" ~
5.4.5 ControlledShutdownLeader-Selector 108+ L3 R$ X( Q+ U. i7 p. o. M
5.5 Topic分区的副本状态转换机制 109+ R1 j/ C" S! I
5.5.1 副本状态的分类 110( j1 K( G( d! w* ]
5.5.2 副本状态的转换 111
2 ]6 _8 m0 l7 W( `, B, t& H% j5.5.3 ReplicaStateMachine模块的启动 117
9 [9 B/ F7 {/ ]2 y; P5.6 KafkaController内部的监听器 118: S3 B& E; [% `( i* v! E
5.6.1 TopicChangeListener 1199 V3 ]0 G% K# w2 \9 ~
5.6.2 AddPartitionsListener 121( d5 [+ I5 E8 C" y5 i, ^
5.6.3 PartitionsReassignedListener 122
+ v$ T& I1 z( A& M0 |2 g5.6.4 ReassignedPartitionsIsr-ChangeListener 128
: p7 {8 Y5 P7 t/ _5.6.5 PreferredReplicaElection-Listener 130# P; M; r$ e' K h. j
5.6.6 BrokerChangeListener 132
2 @6 f6 l) A" }; o# O5.6.7 DeleteTopicsListener 135: [( G/ H. R E9 D i% q- P% H
5.7 Kafka集群的负载均衡流程 136- q4 N* {0 W1 e" O# Y0 d: \
5.8 Kafka集群的Topic删除流程 1409 \7 m6 \/ |/ S% j
5.9 KafkaController的通信模块 146$ P# m/ B; s1 e4 @" }
5.10 本章小结 150
( V7 t9 o& t6 e第6章 Topic的管理工具 151% ^) c1 C8 J1 ~) o' F% ?+ O' j! e
6.1 kafka-topics.sh 151
% l- h% O( ]2 s0 |6.1.1 createTopic 153) F$ F0 |, } l+ Q* f8 O( b
6.1.2 alterTopic 1565 o( k) V, m H @5 u) a$ I$ d2 e
6.1.3 listTopics 160
' j' U, U, e v' { G6.1.4 describeTopic 1619 ]! j' X8 C9 Z- {
6.1.5 deleteTopic 1637 K" e9 o7 m* H* J; R( F
6.2 kafka-reassign-partitions.sh 1641 \; f$ Q+ I3 f# e' ~, L
6.2.1 generateAssignment 166% Z) d4 J- d4 s5 n( u
6.2.2 executeAssignment 167" d) o3 `3 U# l
6.2.3 verifyAssignment 170
8 |7 z8 n) W" R8 T3 g% {) v: e6.3 kafka-preferred-replica-election.sh 172& m0 p K+ g6 [: c% Z3 j
6.4 本章小结 175: y. b0 {: L# M" \$ G6 u
第7章 生产者 176+ W) t% C' C# F4 O% B+ E. \4 C
7.1 设计原则 176
1 l) w; B: o9 Y6 z* T' l7.2 示例代码 176' L$ X* O; J- L1 @) f2 {) V$ U( F
7.3 模块组成 180
4 X. E( r' z0 ^; s( L) ?9 x. d7.3.1 ProducerSendThread 180
) Z" k3 q3 u3 r; d7.3.2 ProducerPool 182
& V5 H( E9 B7 C" w$ p7.3.3 DefaultEventHandler 184
! x' S* Q3 n$ {2 j) p8 T( a7.4 发送模式 1894 C m* ^4 V5 x$ g
7.4.1 同步模式 189
* r: a; M( ?: j& \' N: [) K7.4.2 异步模式 189
7 ~$ q- u' \4 g# t; r$ [7.5 本章小结 192
! b- M2 B/ y& a: e第8章 消费者 193* n. H2 A! Y5 j/ ~
8.1 简单消费者 1934 {3 D1 o9 W7 r6 p; P; B
8.1.1 设计原则 1930 M- x$ {9 q ~% Y
8.1.2 消费者流程 194% w( }/ s3 ]1 b. f
8.1.3 示例代码 195
. a! z5 K, O+ t" o. T4 P, l8.1.4 原理解析 2006 R9 o/ w B: Q' F- s
8.2 高级消费者 202
4 p( ^' a' E* @- G7 }3 O8 }0 Y8.2.1 设计原则 202% c+ v) d/ e' O* c0 ^
8.2.2 消费者流程 203
' G& G) K; N0 N$ V7 }% ?$ b3 t8.2.3 示例代码 204
/ R5 `! o1 `% M5 Y# L2 W: f8.2.4 原理解析 205( G5 x2 B8 ~5 d: q3 |* _3 u
8.3 本章小结 227
0 R6 M2 t: E6 ^. y( s- `" W第9章 Kafka的典型应用 228
7 o ^- r- i0 L9.1 Kafka和Storm的集成 228
2 n# R: k* N, n: X, X: A9.1.1 Storm简介 228
: K" u. c$ j$ M: T5 W5 D& g: b& n9.1.2 示例代码 230
, `$ D1 X9 d5 {( \9.2 Kafka和ELK的集成 235
: i* K4 O$ t `; g( a' b9.2.1 ELK简介 2355 H/ ?: F" S, R+ a
9.2.2 配置流程 2366 \0 s0 r8 S! T3 _8 v" W1 |
9.3 Kafka和Hadoop的集成 237$ Z J7 g+ \% J% H O
9.3.1 Hadoop简介 237
+ U* O, Z$ W; T/ h9.3.2 示例代码 239$ H1 A9 r9 p9 a9 E2 s4 Z1 s: g
9.4 Kafka和Spark的集成 242
4 B( p6 [; t( k! t) ~9.4.1 Spark简介 242% w" J8 t; T8 n" g
9.4.2 示例代码 245
4 W9 E% o, C% J. f! g9.5 本章小结 247
: K- `. y7 t1 e; ^第10章 Kafka的综合实例 248
; s+ Q# v5 e5 o4 H7 l! e10.1 安防大数据的主要应用 248! B% n0 `* [/ ~9 `9 D
10.2 Kafka在安防整体解决方案中的角色 249$ v! }; n0 {1 M! z
10.3 典型业务 250 java8.com a0 C7 L% \3 Y5 e& e' X( o
10.3.1 车辆人脸图片数据的入库 251
8 f8 z: _' k3 \9 t3 X10.3.2 视频数据的入库 252
( e& k3 B1 }8 Q" q0 _) l4 f10.3.3 数据延时的监控 254
- j$ A% t. B& ^- z' s10.3.4 数据质量的监控 2566 \% l4 ^/ y) G# M: D, k3 j+ j
10.3.5 布控统计 258
' _* A# N# D' D. x, ~10.3.6 容灾备份 2599 U+ P- w I4 q9 U9 B+ _, j* [, e
10.4 本章小结 260
; I1 A0 k, v5 P" ~/ P8 A) e
, |* j `5 I" ]9 ^. l 百度云盘下载地址(完全免费-绝无套路):/ H$ ^* n. A* U. Z
, C D8 T9 g1 F. d3 W _# u+ J# _5 b4 M
/ _: B% ~2 |9 K& q* C$ t* G) g5 w. v1 N% _6 r$ g
3 m( e2 E; i' Y) O- b: y) Q
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|