java自学网(www.javazx.com)-java论坛,java电子书推荐:《RocketMQ技术内幕:RocketMQ架构设计与实现原理》
6 [0 O) D1 M, T6 j8 q; ^7 Z1 x2 _. _java电子书推荐理由:本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。
: ]- V3 y V* W$ v" Z9 o# q源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。
5 P( s6 B# f; \/ P* j9 j1 G
. x" v0 T* o2 O4 R e* G& Z2 D# Q s% y2 M8 `4 c, K) j
作者:丁威 周继锋) x3 j) U4 {0 E. H
出版社:机械工业出版社 @4 E& ]2 y6 f5 v* B& s9 f# V
出版时间:2018年12月
+ E- P4 a! L" ^. U' V书籍价格:69.00元
: H' z: a6 H& ~ `4 [) b! ^# h5 _0 E. v' n' X
+ m Y& t; S% _6 L
. l+ C, y4 t5 A9 n8 `2 cjava电子书目录:8 A5 ]) I0 }. F/ \
第1章 阅读源代码前的准备 1
1 m/ j: b( K5 S: v; J1.1 获取和调试RocketMQ的源代码 1( h2 e @5 X: ?9 f9 o0 g0 g
1.1.1 Eclipse获取RocketMQ源码 2
2 Y* Q! D9 {, m5 T( D+ \, J1.1.2 Eclipse调试RocketMQ源码 92 \. T5 i" q4 P6 Z4 s9 e
1.1.3 IntelliJ IDEA获取RocketMQ源码 15
& [8 \* s$ I$ t( r; E4 j1.1.4 IntelliJ IDEA调试RocketMQ源码 20
; I, H4 i" C# e3 Y) N9 `( H1.2 RocketMQ源代码的目录结构 27! P' ~* C8 s6 F6 G. H+ c* N
1.3 RocketMQ的设计理念和目标 28
! }- S% I, d3 _" l/ L8 N8 n! c" X# `1.3.1 设计理念 28
4 `" G4 @$ @* t: _+ N1.3.2 设计目标 28
w# W' d! }2 Z第2章 RocketMQ路由中心NameServer 317 u ? `% J9 o2 `2 K
2.1 NameServer架构设计 31
0 I2 y& S" E' m6 s2.2 NameServer启动流程 32, L* q& z' {7 B# Y2 f
2.3 NameServer路由注册、故障剔除 36! R$ K1 v' C0 W9 z; L) [3 R
2.3.1 路由元信息 36
2 W. w, Q. m5 l2.3.2 路由注册 38; y5 A |8 n, b! _6 x6 L% D
2.3.3 路由删除 43" W( Z1 k0 [- ~8 ^: d% c
2.3.4 路由发现 46- Z! q+ v$ L2 X, A" U, V/ p8 K
2.4 本章小结 47
: |. o3 j* h3 ^/ F3 O第3章 RocketMQ消息发送 49) K- W1 y7 H. t2 ?* Y
3.1 漫谈RocketMQ消息发送 493 q5 y# e! d& S' V, ~
3.2 认识RocketMQ消息 50( ]9 W% j; h& Q6 _" H" `
3.3 生产者启动流程 51( {9 c7 h* {# X
3.3.1 初识DefaultMQProducer消息发送者 513 r, `" x& Z% D6 }
3.3.2 消息生产者启动流程 54
1 {+ V. Q5 B2 v3.4 消息发送基本流程 56; }9 N/ A( U9 u4 a8 s# K
3.4.1 消息长度验证 56
& a0 l0 p% s6 _% B; s/ p7 k3.4.2 查找主题路由信息 56: Q |4 r4 `/ R9 s* ?4 b
3.4.3 选择消息队列 607 m ^5 P$ O/ D/ u3 e9 F6 x
3.4.4 消息发送 658 C5 k0 I5 C# H; X( I' W4 V8 }
3.5 批量消息发送 71( e0 u6 Z4 W; `
3.6 本章小结 74- N! w' d5 {& J$ c' @# o, m U
第4章 RocketMQ消息存储 75
1 R9 q5 c1 T3 u/ Y$ G2 s' r$ U: b4.1 存储概要设计 75& k) S" q7 X4 l+ c: E/ W
4.2 初识消息存储 76
* x$ s2 s9 |3 U6 r! B4.3 消息发送存储流程 78& M' H; G+ @. R; z- }5 o
4.4 存储文件组织与内存映射 83
. F& t0 Y& \. q* e4 M ]( n4.4.1 MappedFileQueue映射文件队列 84. T; _5 m. s9 v
4.4.2 MappedFile内存映射文件 87
$ }0 k E: Y$ @* J4.4.3 TransientStorePool 93
- \3 t+ ]. W2 x4.5 RocketMQ存储文件 94
. V0 t' f( U# ~8 V$ Q& Y8 w* l4.5.1 Commitlog文件 95
/ K0 F0 h! N. S1 \# ^7 w. Q4.5.2 ConsumeQueue文件 97
1 J4 @0 y& v4 k4.5.3 Index索引文件 100
3 a" x, D- F" ^4.5.4 checkpoint文件 104. Z8 C: g* z( g
4.6 实时更新消息消费队列与索引文件 105
& d- ]0 Y, d5 z x/ W* O V4.6.1 根据消息更新ConumeQueue 1070 T# Q C. s' @; q# b- u( g
4.6.2 根据消息更新Index索引文件 108
1 u/ Y; h% s7 j# ^1 ~" m( D4.7 消息队列与索引文件恢复 109
9 f. i" M" z3 A( I" r3 J( t4.7.1 Broker正常停止文件恢复 112
6 n% M E+ D& m3 a5 \4.7.2 Broker异常停止文件恢复 114
" {! s- R* d3 n0 F$ z+ }! i+ K4.8 文件刷盘机制 1156 T% U/ j$ C8 A6 b
4.8.1 Broker同步刷盘 116
4 w% ]( a9 f/ Z$ b8 \4.8.2 Broker异步刷盘 119" M0 \1 P4 [: @
4.9 过期文件删除机制 122
5 c0 k- [- D( i; t/ }4.10 本章小结 126
6 j0 ]: _/ h& e- \( y8 X q第5章 RocketMQ消息消费 127# m3 L% P9 k3 f+ F4 S" i: a
5.1 RocketMQ消息消费概述 127
$ o& I2 x' L* E9 e+ R5.2 消息消费者初探 128
7 W! Q; x- K: v8 r- A5.3 消费者启动流程 130/ J8 O; Z6 S6 `+ e6 G
5.4 消息拉取 133( D) M, i T2 f; ?
5.4.1 PullMessageService实现机制 133
2 z9 i! ]8 n5 _& d- X3 b# I5.4.2 ProcessQueue实现机制 136
: c! H' `* k$ h# ~+ r5.4.3 消息拉取基本流程 138
7 F) m7 C; o8 @5 P- l5.5 消息队列负载与重新分布机制 154! W$ X% o; I* j4 G) D
5.6 消息消费过程 162
1 C% i: L/ z n* h0 G5.6.1 消息消费 163
/ v. ~, F1 W! a. e6 `: y. c5.6.2 消息确认(ACK) 1672 C4 p9 i" P+ g. h* _
5.6.3 消费进度管理 1719 L9 e" H0 D3 y1 V9 B
5.7 定时消息机制 176 D* P2 }) a( Z# e8 i
5.7.1 load方法 177
- k; L7 k5 k& ~0 p5.7.2 start方法 178) w# e$ k; e, C) a
5.7.3 定时调度逻辑 179
1 Y( G& b. J3 v+ |: S% k1 K5.8 消息过滤机制 181
/ X1 B" }& u8 h% x, w5.9 顺序消息 1867 z& P1 r8 x- W5 W6 V+ o9 o
5.9.1 消息队列负载 187- ^9 { I% N+ f& f
5.9.2 消息拉取 187( U6 E) K; |" i# F
5.9.3 消息消费 188
- u0 m! A* V* G5.9.4 消息队列锁实现 195
% c2 U0 |; P8 I' X$ z/ r+ p: s; {5.10 本章小结 196- j6 l7 G; X4 z- u6 u- T( z- M
第6章 消息过滤FilterServer 198
# v R- d4 r! \$ h* W* I6.1 ClassFilter运行机制 1982 c4 }1 n$ L7 `1 g X6 x3 ]3 Y
6.2 FilterServer注册剖析 199
$ c5 o6 g/ b, V4 R, i+ S6 n6.3 类过滤模式订阅机制 202% ]3 L' i0 f( K5 m& u8 X; j
6.4 消息拉取 205; s% w2 A9 m! E2 T9 [) a. ~; j
6.5 本章小结 206
/ D# Z8 n- r) D! z3 A( t3 i: g第7章 RocketMQ主从同步(HA)机制 207( ~$ s3 ~5 U) ?! c- n' J( |/ w6 k
7.1 RocketMQ主从复制原理 207
& B5 g. F1 i1 |* j# L7.1.1 HAService整体工作机制 208
X; n9 | Q" O7.1.2 AcceptSocketService实现原理 208! e" H B( S+ c- w2 Q
7.1.3 GroupTransferService实现原理 210; ~8 ?0 L3 \! I) r: m
7.1.4 HAClient实现原理 2119 s1 m& o$ I( {7 g
7.1.5 HAConnection实现原理 214
! J. g! z& T0 ?* ^3 r7.2 RocketMQ读写分离机制 220 p X* u+ V, J/ p& P
7.3 本章小结 223+ b8 P" j# h5 I- ^: R. W. m7 D4 I, ^
第8章 RocketMQ事务消息 225
; I2 {: m; p+ z# Z: s* m& T8.1 事务消息实现思想 225
) v$ |- k" D( h" {0 a8.2 事务消息发送流程 226
" u9 @( |/ l# `2 b9 k. l8.3 提交或回滚事务 232
( ~ V' E% e7 Y) ^; r# T. w8.4 事务消息回查事务状态 233
( j9 L+ l2 D# P* b( W8.5 本章小结 240
" O2 A% D. [( a. U) b( q3 P4 G( m第9章 RocketMQ实战 242 O0 W4 {, ]3 o9 @6 R
9.1 消息批量发送 2422 D& K2 y) |$ x. b+ g b4 C
9.2 消息发送队列自选择 243) a- s/ n0 b. [) G3 O
9.3 消息过滤 243
: [8 L% m& U0 N7 |. l3 o9.3.1 TAG模式过滤 244! N* J# L# f% i0 y8 s
9.3.2 SQL表达模式过滤 244" I+ w& u- @3 M0 k' F0 h
9.3.3 类过滤模式 2451 N* B& T/ ~! Y/ i! A ~
9.4 事务消息 247* w: o3 e- e4 M* A) k9 i7 u) h
9.5 Spring整合RocketMQ 2509 E, s5 H5 u" @3 B0 Y8 v
9.6 Spring Cloud整合RocketMQ 251
v0 T, q* x) C- d/ }" U5 o: x9.7 RocketMQ监控与运维命令 258
" e, _$ B8 N4 @ y6 }; V( ?9.7.1 RocktetMQ监控平台搭建 258
( U5 C$ N% `) |/ u' u- x9.7.2 RocketMQ管理命令 261) F& t, Y! i+ f9 J# D
9.8 应用场景分析 280
8 @8 a% I8 E- ?! e* | [* a9.9 本章小结 2813 y# U. y8 a5 e d; j; m
附录A 参数说明 282
& `( [# \$ f. b! F {6 e9 Z- Z# F, U0 KJava资料百度网盘下载地址链接(百度云):《RocketMQ技术内幕》_丁威等[javazx.com].pdf【密码回帖可见】- U$ q7 n" J0 Y9 w3 U$ y) u
8 u. l& l/ z6 X
6 `$ v Q, w2 r+ }9 w- Q3 r7 r7 W7 L$ U c$ _
& F3 N0 J& @# K# _# |
1 ]" H4 t6 p7 O$ n; W, P3 E7 E" N
0 O6 _$ s0 I) ?5 N* ]/ {3 J& S$ |$ \6 W2 I
6 i# \. D- }1 E# f/ F- Q
- T/ _% F: {/ q) m7 e, n1 ?8 t3 k2 r$ A8 [; H7 F8 ]( h
|