|
Java电子书:Kafka权威指南 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
' R: C( d) T0 t2 [! t) ^4 V6 R! [ a4 k) U
9 I5 ?) Z( d' g. w* H( w, Y) `4 C
编号:mudaima-P0295【Java吧 java8.com】
; f" N. Y, `( f/ ]+ o. ^4 v' l2 N- O4 {' q6 q! ~# N+ Q
) v8 K9 V- w( c1 f' m
. U4 y8 J2 I+ F1 z. rJava电子书目录:第 1 章 初识Kafka 15 J* ?" N' [- O: e. `& j" n9 r. K
- j- W) l: X- l7 O& Z. |2 s
1.1 发布与订阅消息系统 1" d) H/ B$ ?$ `7 ~
& s! P% e+ L5 T! r6 l- t0 A
1.1.1 如何开始 2
1 b( |/ i2 V4 [* q K" _; J" d6 Z- G% H# {
1.1.2 独立的队列系统 3
4 m1 L7 V( ]+ C" Z$ Q8 H
+ V4 a; E" {8 Z9 r" T& T4 Q7 f/ P: X1.2 Kafka登场 4
/ G& B/ _: n! h: G( H
3 f7 A1 j' x5 D( n1.2.1 消息和批次 4
% [( V6 A- n' O8 b9 Q9 b
$ S# F7 V. d' k& I. s. Y8 s3 T' ^1.2.2 模式 4) y7 T# p4 O. |
* `5 U( T# [0 {# D1.2.3 主题和分区 51 ^1 X+ J8 f2 L$ D8 V3 M
& K- y* S. X( z: e. B: }
1.2.4 生产者和消费者 5
5 c" f$ ?6 V, t
! E& k8 u/ T4 I- q7 ?! V/ B1.2.5 broker和集群 6: w; ]. S5 j1 u& U% `! w
; l# w: M3 Q; L7 c+ e1.2.6 多集群 7
# e; L7 j" V7 |' G- B: Y1 w
! R, E; K+ F5 j1 z1.3 为什么选择Kafka 8
0 f9 J9 C% r/ [" B6 i2 t- s9 L
! N( R! T& V. _8 I/ d% \/ R1.3.1 多个生产者 8. u$ Y* D" E7 t6 a" p$ A/ h" L
5 G0 _% k+ `/ z( ], e" R: V6 ^" N
1.3.2 多个消费者 8) D" p+ F. l6 C
0 J0 S" a* ]2 n; g$ q c7 Z- R1.3.3 基于磁盘的数据存储 9
5 h) t& K4 h/ H1 w( m7 Z5 S4 U- u" u8 z8 A
1.3.4 伸缩性 9
/ Z: P2 k: i+ h# p, o
$ z5 n+ c- C) x7 r) |1 Y+ c1.3.5 高性能 9) S9 b, K' v6 Q2 H7 s, }$ a
" a4 ]6 y5 @- b# A1.4 数据生态系统 9
& h. _) @! B3 J/ [( _; C3 i6 [) {- s+ U0 \3 n) w3 F- C" x i% T& u
1.5 起源故事 11
9 B) c; r# }6 n* t% M$ e" T- `# y. r: E4 {
1.5.1 LinkedIn的问题 11/ B: H6 L6 S3 {5 D
+ R K; @* B# v
1.5.2 Kafka的诞生 120 M/ S) c2 ]% Q# n
( m& V8 `- \0 e) }! `$ q
1.5.3 走向开源 12
; U8 R! R- F3 ?/ a# v9 p; _4 ?7 B( K; _& p/ H2 J( X
1.5.4 命名 13
" r: X9 p! y6 k5 h
% v8 I# l/ m% j; R. m1.6 开始Kafka之旅 13. k- T0 ?2 c( p
) i3 J6 j) M! o7 Y D. Y, c: x
第 2 章 安装Kafka 14
" o2 f( p5 Q) W6 ^5 H5 s
j$ F' V* m: ?/ z8 J6 ?( K7 W2.1 要事先行 14' @# H/ e1 U. f8 |
! s! x; y7 v3 F2 E2 r
2.1.1 选择操作系统 145 d& F T L) b4 ]$ D, [
& H2 J9 c6 c/ R7 P* n4 j5 b" B3 W2.1.2 安装Java 14
6 C. l; u l- E: X2 |: J, L$ b: ~5 U( G* y# B4 n. R
2.1.3 安装Zookeeper 15
: @& S9 X3 k* b, [0 {# y: C* O
) ?4 Y+ Y- f' z2.2 安装Kafka Broker 17) C) m% `' O3 W: r; X
$ a% I) |+ \, M8 |2.3 broker配置 18- b0 L; A' p: [9 e& h8 {; L( p( Z5 h
' x5 K0 e' v: m: S
2.3.1 常规配置 18
* I* h" x* y( Z: s8 s1 j8 C% H% f( C0 F: b- C$ T, E; q! U
2.3.2 主题的默认配置 19' w( `9 l4 r; g# V" ?' I. U
/ c& {+ T) H8 o9 n! A8 b
2.4 硬件的选择 23
1 } G! [( n5 \- Y. } x. }) Z
/ Y* h3 F. ?. q w2.4.1 磁盘吞吐量 23# _: k* D7 n0 }7 ~9 S$ O
! o4 y; e) t' i
2.4.2 磁盘容量 23
, @/ m) x/ Y" N/ d% Y) f% T
; L- \% N* B" D! |" ^2.4.3 内存 23
4 r4 V3 g, p( t. A- o; u# L7 p4 C: [/ ?3 ? x; ?: |
2.4.4 网络 24- ~( G# R+ {2 L# G; E8 D
' \: o9 o$ p$ d# s2.4.5 CPU 24$ v0 H( ?) t6 E( L1 J4 B
! v8 m! X5 F i# {5 B2.5 云端的Kafka 24
: ? T3 W6 a! c* W) h* O+ N$ I: }* ?' O( G% D
2.6 Kafka集群 245 r( c s/ `6 ?
# L9 X* {$ [4 a a0 w9 J4 d2.6.1 需要多少个broker 25
- x- c% p* N0 a% h
G3 v1 T4 O, }2.6.2 broker 配置 255 I; H+ }1 T X+ M6 b/ o
6 s0 j/ o+ S# \" q
2.6.3 操作系统调优 26 F" }9 b5 e2 i9 e5 _& h/ F
; c9 l( r9 `+ o5 X7 ~2.7 生产环境的注意事项 280 ?# F' j) {9 o$ x7 F2 W
+ b+ N7 X! d! Q4 H0 ]6 J2.7.1 垃圾回收器选项 28" N- ?6 |% }% a4 m3 r* v! m
C0 x9 G1 _2 F( n8 [% b
2.7.2 数据中心布局 296 ^* q" W9 Z. A& _) L
/ N& \0 ~5 B& W2 [2.7.3 共享Zookeeper 29
( }, }& p. w. l0 u; t2 x" j5 n1 r% G/ @0 ~" M+ R3 V% c# D4 ^% h
2.8 总结 30
4 q5 h1 i, J8 j$ p" q* z$ g
* F) b- x$ ]# y2 m1 \$ N. R: u第 3 章 Kafka生产者——向Kafka写入数据 314 |+ c' C+ d8 |
+ g: O" G+ g7 w+ i V/ A4 F3.1 生产者概览 327 ~/ x# q, H( h* k C0 D, e
% l3 W# m$ e! W: T& }1 N/ k. q3.2 创建Kafka生产者 33, @1 c; ?+ I7 A, p6 ]
4 N& \# D% V; j' c' w2 v2 G; b4 P& t1 d
3.3 发送消息到Kafka 34
2 @$ F) e, L5 C7 x9 O8 k6 e. u6 m
3.3.1 同步发送消息 35; D7 S( C# m; K/ T, O
( P- x+ }; L, w2 ^6 R( b9 R+ W' c& J
3.3.2 异步发送消息 352 J" U% W% r. Y) N
/ z+ o2 c$ b$ a3 P& L8 I3.4 生产者的配置 367 E! H r; ?4 K% [. Y7 ]! j* U) o
, y6 b/ F) c& z* P7 c5 y3 w0 o3.5 序列化器 39
) {3 S! e4 a' p p5 j3 d; {8 `4 }# [8 p& K3 Y. R/ K* K
3.5.1 自定义序列化器 392 u( Q. y7 X2 V) l
" ?) M# s; V d. Z6 V$ ~8 s3.5.2 使用Avro序列化 410 Y9 N, I( H+ U- B6 D
. w M: A" R( L2 l- p3 {
3.5.3 在Kafka里使用Avro 423 d$ M" D {3 O* R3 v# @
8 a5 u E- g3 W8 g- `3.6 分区 45
# G, K" r" f! X/ p
, P7 _4 `! g8 q$ Q3.7 旧版的生产者API 466 q- i$ H% j- s# w: A
% c: R C& W$ c4 Q
3.8 总结 47
9 G2 D% D" b. G) \! O- e" X
1 N1 \7 P1 W$ j第 4 章 Kafka消费者——从Kafka读取数据 482 v+ I$ X0 T- R& M! Z5 @$ n
; E$ O* X/ t+ a& a+ b4.1 KafkaConsumer概念 48( P5 b2 ~" r' ^6 c' c6 m6 f Q
. y7 Z+ m" |% i, l: m( V& l4.1.1 消费者和消费者群组 48& s4 b# Y4 ^7 [' W
) m) }. M$ h4 x! V4 t3 x4.1.2 消费者群组和分区再均衡 517 t6 U; P) V* C( u, m% I# P+ N
$ l Q/ @+ h: s/ d2 i. E1 I
4.2 创建Kafka消费者 52( k' n6 c) B' K! o) m
" N. {( Z' ~) ?/ X4.3 订阅主题 53+ u, q7 s# |+ t% t* y+ s
5 I" n9 v8 V4 K# [: T0 }0 Y
4.4 轮询 536 w( I; @5 G$ {2 E3 a7 f
* h2 f1 y7 E& f; k: L- l) _+ U4.5 消费者的配置 55
, q' x6 p! [' m# t! {3 a3 F8 W" D2 S5 H4 b' a
4.6 提交和偏移量 57
- x- S$ F! w+ i3 l6 W# |' j8 R+ z3 w2 ^2 u% W! r) g# P% M
4.6.1 自动提交 587 |/ U, n3 @0 \: a* s- h9 M. U
, ]! [& n- s* M3 W1 F4.6.2 提交当前偏移量 59
' r2 o! y! v7 k3 S# F) J8 G
& W/ |$ j9 [2 I/ a6 v) J8 e4.6.3 异步提交 593 ^3 v8 c6 S1 E. q; g1 K2 u
) }) y6 |$ h1 }4 K/ V
4.6.4 同步和异步组合提交 61
. i8 z3 I4 z1 ~% B2 h5 J/ ?
3 H3 z9 q( T8 I0 d6 q4.6.5 提交特定的偏移量 610 O# Y( o" ^+ F2 y- U* C
2 |. F; ~8 u# p0 ?% C4.7 再均衡监听器 62
2 t: y8 V$ [% Y3 Y- {7 B6 O3 F, z) L0 v; ?' u
4.8 从特定偏移量处开始处理记录 64* e( f( j! k& k q8 S! V
7 J Q; V4 e9 s1 z1 w3 l3 o4.9 如何退出 660 C9 `; o$ I2 O
: Q8 d! M5 [9 i" @9 [& ]5 w* y& o4.10 反序列化器 67
, E2 S* c% Y8 N. i7 Q. u1 m, d) u8 m0 i; i7 z& `0 U2 ^
4.11 独立消费者——为什么以及怎样使用没有群组的消费者 71 Y5 _% V$ c' L
, y O" v' q) P% g* v( q0 E; b
4.12 旧版的消费者API 71
' t, |; T& \) s) {2 g j7 _) Z5 M( V8 e3 D% O1 L1 V% |. G
4.13 总结 72
" t! c- b' h: p6 n/ Y4 @
" N, D$ {( o' Z) [5 ?% x第 5 章 深入Kafka 73
- @# V! M) u* g( f( [, |+ s$ d+ i$ `* [; T: W% |% c0 V) u
5.1 集群成员关系 73" G' W% J f2 H; m$ l* E3 K
- h9 G4 H/ D( E/ r# F5.2 控制器 74& ^/ @5 X' e- t9 O
' [6 i; h4 M! Q+ j5 p" P: t4 p
5.3 复制 74/ c! ^$ g& ^2 k- G; e2 @, s8 \3 d
+ m+ I/ x V1 z' e5.4 处理请求 76# u2 F6 M$ \3 u
. k! S% |! o$ }# r8 |5.4.1 生产请求 784 \- |% I( p; Y2 e9 [( Q
' w4 X2 e) a- `9 A) t3 R: @+ j- P# U2 {5.4.2 获取请求 78
/ j' z7 ^4 v; Q0 u0 ^& m: Z" a: r a( Q, M6 E
5.4.3 其他请求 806 \# V" J! Y( t5 ~, D1 Z
% \4 i. s' ^5 B- S% f' U
5.5 物理存储 81: n t. k/ K8 V1 e, [ K7 G
# E$ {& k1 e2 n& N% R G6 o
5.5.1 分区分配 81
8 y u- j# I* ]0 D
3 c$ i! A" Y8 }9 s9 {5.5.2 文件管理 82$ W( ]' }) s4 r7 z2 o+ ^2 k
; E! S" k4 y3 ]6 K& P" E
5.5.3 文件格式 837 D: d3 v% k @
% m: T& J7 V. p5.5.4 索引 84& `4 | t3 U8 M! r& ?' S
2 ^7 Q f1 J+ I$ B1 X6 V
5.5.5 清理 84$ Q% P: M% Z3 {0 u5 h, T q2 W
: g/ j6 X4 j5 ]5 T3 @
5.5.6 清理的工作原理 84. I* h+ K, D7 i/ t. _+ v: I
2 z3 q8 i% [% n8 f, _$ r
5.5.7 被删除的事件 86, |( i8 ^- j1 a/ {
5 L* L: \4 P6 Z, D! _3 Y J
5.5.8 何时会清理主题 86( a3 a0 `. f' {
6 Q) q6 C" j8 T$ G+ C+ J; g2 ~8 Q
5.9 总结 86( Q5 t+ f7 ?; `! ]3 H) a
; [5 w6 I2 P+ E3 I* ^
第 6 章 可靠的数据传递 87
0 k" |8 R4 g- A0 g
$ X: c" F0 M- c" O) l; } O6.1 可靠性保证 871 N9 C' |$ X; [. ~9 T- P
8 M. V5 `: T- F2 B, F6.2 复制 88
F5 \) r, M4 W6 i2 l( R% v
2 a1 B2 S2 A: f6.3 broker配置 89
6 f$ Z; l5 J f* }7 M( ] d$ c" A7 L% N; f2 v' U; x
6.3.1 复制系数 89
j5 [- p& U+ H+ S5 n. U5 S4 m
8 ^$ e# J0 Y! g2 K8 v+ \$ n6.3.2 不完全的首领选举 90
/ o9 L2 Y! N' N( D# ]1 Q, j, t+ K+ E/ V& a" L
6.3.3 少同步副本 91
# n5 @* B. X/ s& G, y& ^2 x2 ^. U. o4 W+ F
6.4 在可靠的系统里使用生产者 92
$ c: h3 `, I4 U3 W9 k- d, E" b2 @$ a8 @: u) h
6.4.1 发送确认 92, m) g0 b: \' t& p
# [: C8 t$ g! t) F) M% e6 i
6.4.2 配置生产者的重试参数 93) q3 ?5 Z6 Z# l4 J" w2 H: r
' |8 W. w7 z3 @# K" n" Q% X
6.4.3 额外的错误处理 94
; c$ R ~- W1 S% p) g
9 x% n9 P' T# _: l3 K I0 V6.5 在可靠的系统里使用消费者 94
* q/ M/ k( v0 i" Q
& r/ `/ f* x: Z5 Q) X* a) P6.5.1 消费者的可靠性配置 95
) _3 ^5 Q$ E$ o8 m$ Y/ c6 e6 [# s, W
6.5.2 显式提交偏移量 95: @3 t# M7 O; T o+ g4 d
& [1 C* R2 s) b0 d% g8 s) V
6.6 验证系统可靠性 97- j; ]: N, l7 ]
9 R; W' v. B" N! `6 p3 |1 P* a' l* A: T, S
6.6.1 配置验证 980 L4 ?; h* a( U: b
3 \4 w4 v1 m& t
6.6.2 应用程序验证 98
$ D7 g1 q/ ^5 z; O
4 Z8 V0 J( X1 V6 `6.6.3 在生产环境监控可靠性 99
5 H9 k' u/ {0 R9 _2 g; O7 D% @0 T$ M& l% t" D+ k
6.7 总结 100
" h/ S3 Y* S# Z3 O+ C& K+ p8 u/ G( E2 F% d t3 F/ w! K1 b
第 7 章 构建数据管道 101
. W# e9 b5 t5 B, I+ r+ D; k+ \( L" J( o9 A4 g9 r- o, [
7.1 构建数据管道时需要考虑的问题 102
7 n6 M* c& L7 o7 V2 k
7 k) d, B! g; ?# r7.1.1 及时性 102
9 @, v3 w- Q, S4 i- h; j$ x* C5 Z
) X; W$ j/ i9 Q8 ^3 V! q7.1.2 可靠性 102
: ?+ ~9 o) @3 H6 v5 g S. B
4 u- C5 U$ P' v" \/ Z7.1.3 高吞吐量和动态吞吐量 1032 G7 f; @1 S2 h0 T+ }) [% A1 d
{; A" p3 \0 x& K+ G4 T1 Z6 P7.1.4 数据格式 103
C0 M3 a. Q0 h# f" ~. b1 w
2 {! p- [3 ]5 r/ c+ ]1 B7.1.5 转换 104
9 r- e! x' G3 u' U+ H0 | G" H: p1 T( m# O' d
7.1.6 安全性 104
0 h' L) m# U$ e* X% t7 t3 Y+ |; O
" e- f' z7 w( @8 z7.1.7 故障处理能力 1049 s4 n0 {1 w* z8 N# @1 n/ r
3 z5 I$ N r' a# g$ f, q$ U' j* G7.1.8 耦合性和灵活性 105' w4 v @6 [, `1 D9 i$ C
" Z D9 }4 x7 w4 f9 z7.2 如何在Connect API和客户端API之间作出选择 105
8 i' s `( s. u( Z1 }* l5 G! @7 N3 I. [0 N& q
7.3 Kafka Connect 106. h6 C3 C9 [9 ? P/ D0 x, `% |
& y. l; |) a7 S$ _; O
7.3.1 运行Connect 106
% l. S$ E1 `% [+ n: J* G" y
+ ^9 m9 R1 T$ r$ `4 @7.3.2 连接器示例——文件数据源和文件数据池 107
! e: {& T3 j0 E! Q% D& F
2 x6 r+ `2 T: X7.3.3 连接器示例——从MySQL到ElasticSearch 109
2 b6 E e# n9 |5 i% y3 h2 t7 N B
7.3.4 深入理解Connect 114
! I* E. R* {# p& _7 p5 E; T. C
) U! _: }, }0 d. i* A3 B7.4 Connect之外的选择 116
# ?8 k0 n; T5 n5 F
; h6 Q, ~( b y3 M7 P; ?* a7.4.1 用于其他数据存储的摄入框架 1163 K; F; }. B/ l1 E' D
% ] E0 d; f7 ?. b1 K% _7.4.2 基于图形界面的ETL工具 117
* m4 f7 G5 f- E4 I* T& S( n% G' [; @- i/ `- `; a
7.4.3 流式处理框架 117
2 S: {- @* |" o e& C& Z1 V8 M% ^: r
( ?. n. R1 f0 c( r7.5 总结 117# }8 y# b" p* N# @
3 s0 Q4 J1 F$ }8 [0 N: x. @4 i* C第 8 章 跨集群数据镜像 118( Q7 {: k6 Z/ Q
# a) W- t, v! t/ w8.1 跨集群镜像的使用场景 1189 |' }) Y5 j8 e9 z- P8 I
+ J% ?% u) s& h: q5 F8.2 多集群架构 119# d$ u2 T* }' B3 H5 f( J0 I! E
1 F; M0 a+ o' p" s& @8 ]8.2.1 跨数据中心通信的一些现实情况 119
% {8 A. ?/ T2 Q8 @3 }2 z/ U* l
8.2.2 Hub和Spoke架构 1207 E$ Z% s7 S- |( \' {$ _# U& T
6 B9 Q' L. e4 _4 z& K8.2.3 双活架构 121
. c" |! i' @+ R& g
+ `& |6 ~* O% @/ M( A( F6 ^) p8.2.4 主备架构 123
. J ?0 L$ r1 F# A9 h4 O9 p L* W
5 k5 e) p; B7 z0 A0 V9 d8.2.5 延展集群 1276 p' w2 v7 g7 |
+ H2 ]1 b0 b, s5 I+ J. @8.3 Kafka的MirrorMaker 1281 l }0 e) K: ?( X+ d, N: r
7 D8 U m7 h( {: ~, m# o' ^8 l
8.3.1 如何配置 129
: u; V$ B- R) {+ p
6 g& R' q" I/ d2 C% B% I8.3.2 在生产环境部署MirrorMaker 130+ j8 j2 |3 P( t% y+ W8 R
+ M$ s8 f! @5 R: n: ~' d. W4 j
8.3.3 MirrorMaker调优 132* S; D7 L' Y7 w4 S
& q V1 s- L; U4 H+ q5 }8.4 其他跨集群镜像方案 134( X; y, C. x7 P( @* G- k6 c
7 {* |% M7 g9 y* K2 r% S" t) Y8.4.1 优步的uReplicator 134$ Y6 c2 z! y7 d
+ W3 `3 F7 {& x" t/ Z. b5 ^8.4.2 Confluent的Replicator 1354 r; t% T3 V' b, c; _/ Z/ m5 z* a: X
# J' _& O+ V+ X9 N$ F4 J4 p
8.5 总结 135# ?9 I& E/ p/ b
( @9 C9 L! R2 d. X- {# z. j7 w第 9 章 管理Kafka 136
+ ~ e- M' K% L. t8 f
I4 A2 V3 M- E9 p0 m9.1 主题操作 136$ a: q0 z/ S5 i0 R' e" l
; x$ R) ^% X* D9.1.1 创建主题 137
* I% H6 }4 C' H8 j m9 f# v1 R! t4 h4 L+ o9 R
9.1.2 增加分区 1388 [ j0 u5 N. n
2 G! m0 P+ P" A- z% L% W; ~4 r9.1.3 删除主题 138
+ W# ^1 b" z% X+ a0 E) ?, T7 `9 o4 V1 P# p3 F
9.1.4 列出集群里的所有主题 139
6 A9 x9 M' v' T( j/ c* V% @8 k8 j1 x* \& o4 z/ J& c
9.1.5 列出主题详细信息 139
6 s" J& s8 |2 P4 |- K) L g) s
" H+ |* i7 U* [( e( G$ s; F* v9.2 消费者群组 140
, T" e m: w- E% \) {9 g
. u+ k% E1 R/ e4 }: z9 p( s2 Q; c) i9.2.1 列出并描述群组 1400 h& v2 R$ n+ t/ ~( _3 @( c0 v( i
% h8 m9 _4 k) b F, z
9.2.2 删除群组 142
; q8 H3 E- j2 c, H( n* ^2 |! v$ \# r0 s* q9 H9 W8 ~: T$ O* b) D
9.2.3 偏移量管理 142& d3 a0 ^$ [9 @7 }4 W
5 a- T2 W9 ~ O( k8 ~* j
9.3 动态配置变更 143( K x; t* Z- _. h8 S0 x
& Q0 Z* S" _7 [3 r' I" g0 g# z9.3.1 覆盖主题的默认配置 1435 n4 t: @8 x: `6 C. L5 y
2 _ c# q' u1 N' R- U9.3.2 覆盖客户端的默认配置 145
0 E" g) B/ ?7 x4 @
; t; W# d# w( m' M+ D9.3.3 列出被覆盖的配置 145* h+ E" r1 R; b3 `2 A2 P7 G
3 e6 G& T8 ~0 M: W( m; g
9.3.4 移除被覆盖的配置 1467 _* s$ R$ a6 t% L
/ M2 z6 V- m& T; ~9.4 分区管理 1468 N/ W% L* l, C+ R+ Y
; @8 v; @. A+ J3 U9.4.1 的首领选举 146! L2 r; e# T! t
- u5 E2 I' B& Z( R9 v7 M# W9.4.2 修改分区副本 147; d- V v' c6 \5 ^8 `3 ^, U
; f" {5 o3 W* @) g+ |" z" v) |9.4.3 修改复制系数 150
* w1 _- z0 f8 Z: [/ h
0 s: U3 v2 p+ R5 C9.4.4 转储日志片段 151
* W$ Y# @ W9 E$ ~9 S; ~$ ~0 S6 E- N: s
9.4.5 副本验证 152$ m. A1 ]& \0 w' p
7 K: ]3 J! E# Q" _8 ?) P9.5 消费和生产 153; A. S4 ?, s9 R) \
0 ~* ]: M* `! k/ I+ I9.5.1 控制台消费者 153
' n. \1 u4 r+ x: K" s3 B4 N
# p' @) e7 S" m6 O9.5.2 控制台生产者 155. s! s2 N! u& d# b
6 h, k5 O0 c3 z3 U
9.6 客户端ACL 157
$ M- L4 Z5 V/ O9 m C' X- {5 v$ s/ r6 r( l" O
9.7 不安全的操作 157& g+ w7 X2 `3 V; `5 u2 z* C
# B% C* M& F1 z: h8 m. b
9.7.1 移动集群控制器 157
4 Z9 \% O+ n: _7 ]8 f' Y& d1 M/ H7 J+ S9 o( B
9.7.2 取消分区重分配 157
! z, e+ w5 \; k# U8 Y* ~
4 j5 U, ^% y& q) {5 t. U9.7.3 移除待删除的主题 1583 v/ c1 l6 T5 ^( g _/ j% n7 P
9 W/ o8 a! W7 e* P1 i3 `9.7.4 手动删除主题 158
4 I8 w; e! Z% f$ G3 j3 v5 k! b5 h# |8 K4 ?
9.8 总结 159$ E, p# k' W0 m
' c* b0 c# A& \9 W1 z2 t第 10 章 监控Kafka 1606 N: @, d: F: r: k
" X$ k1 X& k/ o! u. F5 W10.1 度量指标基础 160: ]6 W% j0 W: V3 `
* v0 h z7 r0 v
10.1.1 度量指标在哪里 160: K4 B* n' l+ p h$ Y
, c. O8 h8 }- J b* t- Q# w2 y! I; m4 ^
10.1.2 内部或外部度量 161
2 Y" W% Y8 g( r# t2 I# P7 F1 @7 @3 j( [( B7 |! t3 Q0 j
10.1.3 应用程序健康检测 161( [7 h. g4 c/ s' {0 K r; C
5 p9 X( N" Y/ t9 L8 {10.1.4 度量指标的覆盖面 161
# Q4 I7 R3 r% t* {6 Z
: B% z# M" j, V5 a2 P& S10.2 broker的度量指标 162! }2 {( g. r" s) q; B: x
: p# ^+ m6 i+ {! h1 C+ |
10.2.1 非同步分区 162
5 q9 ^: s1 E5 j. d' P
' s, J% P G% T4 B5 Z3 _$ g2 W10.2.2 broker度量指标 166
0 e) @) {/ e# ]/ B, b8 M" e6 `' N. V4 B* K
10.2.3 主题和分区的度量指标 173
( y; y# `; O+ O' |+ m
, M1 T+ ?# P) f: R10.2.4 Java虚拟机监控 174
- k. M/ K" [% o4 f
" D9 o: o6 o; z+ {5 {; q10.2.5 操作系统监控 175
9 P4 B- O$ E7 K. ?$ l3 _: q5 ~1 A2 p: h/ d) A
10.2.6 日志 176( j1 |" l0 z1 O
1 K7 X- }, W; r4 \; F10.3 客户端监控 177. b! g- U1 ]* O
/ _7 x: e# r2 H
10.3.1 生产者度量指标 177
1 T6 S: R- }6 Z1 x, @; s+ ^) N" }* e: ]6 N }
10.3.2 消费者度量指标 179; Q, Q" w$ l+ Y0 v0 d
1 U4 I7 O8 i% P4 _% R10.3.3 配额 181- Z8 M% R+ T8 c& c
, Z5 q: D( y8 _8 U
10.4 延时监控 182+ _( E/ s2 Y, a. g
5 d$ b- a7 C" I6 U& d2 q
10.5 端到端监控 1838 ~4 e/ ] j, }) V% k
; n, e l8 f6 y7 _" Q3 t& T
10.6 总结 183' i- H" F2 o# P. M& k* {6 t
" M; ~, H5 N) q% P _+ B2 r
第 11 章 流式处理 184
4 {! b+ L3 K t# i* m, { g& y
t9 s0 R8 [2 E9 a3 g* ]% l/ _11.1 什么是流式处理 185 b1 N9 y; J6 Q# L% j
: Q# {7 K$ `% v( X% @1 |& ~11.2 流式处理的一些概念 186- C; j4 z5 s4 [
$ e# J" t( T$ ^% j4 V/ f: U6 q
11.2.1 时间 187: N+ b; H( N7 I. t! A
. V z- N* m) F2 \& E11.2.2 状态 188
?- r9 q" [/ G" u/ {$ g( v" d. B1 l. l8 E: m
11.2.3 流和表的二元性 188
6 e, p0 B8 k7 w* d
' V u. t4 F \& ?* c& ^11.2.4 时间窗口 189
2 |+ f0 E! D/ v- s8 G' O& ~3 @# }2 p9 t0 i+ n2 p6 ^- o1 A- N
11.3 流式处理的设计模式 190
' A. }9 d) @- G- O" p+ U% Z i
3 c# D% x4 }) w# J; ~5 k11.3.1 单个事件处理 191
: }6 c5 S- y. A3 j3 s% A
, m% T; @( r! g11.3.2 使用本地状态 191
! K0 Z# V' W4 j7 e2 c( Y8 a6 j, e; D, L& n T8 _
11.3.3 多阶段处理和重分区 193
& h) {0 H! u& q/ |0 A& G% `
* P( `/ i# @0 Q* E- D; ~, `- B11.3.4 使用外部查找——流和表的连接 1933 B9 f, [- [4 w" l3 r' p
* k9 n& V6 O$ D# Y$ h
11.3.5 流与流的连接 1957 W( G1 v5 c8 J" f
# Q/ S% w; N2 f! P0 T11.3.6 乱序的事件 195
/ z+ f/ Q6 u7 u& l+ p
/ x8 M: ~2 W U! m4 x8 C! s$ k11.3.7 重新处理 1968 Z. O- E- e( |! l
6 Q( G- w% ^+ |/ s" O) u11.4 Streams示例 197' ]8 h- K) q0 R; e8 E
' j4 w! b- k/ I- Z( Y4 S% b11.4.1 字数统计 197) b1 U( G& I) m. A& l; I
7 `) y/ H/ B6 Y: R* n% G
11.4.2 股票市场统计 199
# Q! O4 A* g: l" l$ \9 g+ g9 w
* Q1 S8 m0 U3 }. O11.4.3 填充点击事件流 201
0 N$ k z3 o( T2 e! r% ^4 W! F2 |
11.5 Kafka Streams的架构概览 202* b% u+ |0 z5 e+ F
* B" r. @. a7 e11.5.1 构建拓扑 202! Q) q+ {7 C/ ]2 j
java8.com1 P8 a( z$ Y; K: f$ v
11.5.2 对拓扑进行伸缩 203
# X7 s# U% z7 Q9 u; g' \# U
7 u( J* L, @+ }5 u11.5.3 从故障中存活下来 205( S% J4 ?9 g7 y9 @- _$ T
# s' o2 i) U* y- S& x5 Z) ~% h11.6 流式处理使用场景 2054 @ _ b2 F" k: Y
8 O+ h% m9 {2 h- O3 a11.7 如何选择流式处理框架 206' T0 `; a( r; g# q; ?4 ^) e/ k% L
% K% E G+ ^+ L, ~11.8 总结 2083 ^/ e7 @ W% U, n7 r5 W$ ]
+ s( C: R( i2 D
附录A 在其他操作系统上安装Kafka 209* Q" r" M7 G! c9 i
6 M$ M0 u1 Q% N作者介绍 214
, ] p' H. K: s9 R9 Z$ B, [: w' }1 x# M _7 a% ^ q. ]
封面介绍 214
: A# T* V9 N4 T8 o4 h5 O) I百度云盘下载地址(完全免费-绝无套路):3 {% e% p; k% l. X! Y" Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|