java自学网(www.javazx.com)-java论坛,java电子书推荐:《RocketMQ技术内幕:RocketMQ架构设计与实现原理》+ m$ j4 D9 ^# {1 y+ `! a7 W
java电子书推荐理由:本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。
/ F: q3 O& f$ S" v源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。
F2 e7 Z# V7 O- H
4 r" g8 s. r* F& t! g) e F
! R9 n0 {6 X! `2 t$ J/ K作者:丁威 周继锋/ O3 ~* G8 {0 a! T* e% y& F
出版社:机械工业出版社
- ]3 f* _4 ^0 w. ~! p( y出版时间:2018年12月 z" |3 E5 e3 g
书籍价格:69.00元9 T, q( M g; `' r1 W5 ^
- m( u* Z+ T2 y" B7 `& m2 `
6 u/ q8 Z+ `# C" F/ H$ X
- `- N9 a; b0 m" p
java电子书目录:- d, [1 S* X) M
第1章 阅读源代码前的准备 1
. @8 r6 i" G0 X# W1.1 获取和调试RocketMQ的源代码 1
0 C& `1 P) W( K" u: I* M! V9 D1.1.1 Eclipse获取RocketMQ源码 2
) m- \8 A* B# Q0 d- x1.1.2 Eclipse调试RocketMQ源码 94 n) T, P* D* @' w q9 i
1.1.3 IntelliJ IDEA获取RocketMQ源码 15- u6 W3 y/ }& G/ s
1.1.4 IntelliJ IDEA调试RocketMQ源码 203 Z& k; N7 ^5 C/ S5 A6 Y3 e: n
1.2 RocketMQ源代码的目录结构 274 l$ |9 ?2 s: S `* s+ O
1.3 RocketMQ的设计理念和目标 28# G" z7 ]' \. d# a; o$ J* I( b0 A& c2 z
1.3.1 设计理念 28 T! \; x" G, E( n
1.3.2 设计目标 28( r3 L7 V/ U3 K% @
第2章 RocketMQ路由中心NameServer 31( [6 Q/ B" X# {% l& b% E* H; K
2.1 NameServer架构设计 31
4 j6 d8 ]. V- O. {2.2 NameServer启动流程 32
4 l* \6 q% y' ^2.3 NameServer路由注册、故障剔除 36
0 y0 C* m- V& H/ S* I3 T: T4 ?2.3.1 路由元信息 36
8 Y; C$ F% n3 r; N2.3.2 路由注册 38$ q- O+ c3 }3 ^' m
2.3.3 路由删除 43/ Z+ \, x; ~# |5 C. u& Z" {% |' Z' i
2.3.4 路由发现 46$ j8 I, G- L" d. E+ C# C
2.4 本章小结 472 h2 A! g4 d! e9 }
第3章 RocketMQ消息发送 497 r" L6 d* {# o9 F0 h+ |
3.1 漫谈RocketMQ消息发送 49
# K' Y3 o: u! h6 e7 r% D3.2 认识RocketMQ消息 50$ ]' X# j8 b. I! J
3.3 生产者启动流程 51
, p h+ P W, @$ T3.3.1 初识DefaultMQProducer消息发送者 51- D4 w2 ?% T" H
3.3.2 消息生产者启动流程 54/ X# ~& K$ g# P- ^' {6 J' [: F ^, a
3.4 消息发送基本流程 56 \: c, @. ^! ~: H! n: V3 v' L
3.4.1 消息长度验证 565 |7 z$ ~4 c( a3 l
3.4.2 查找主题路由信息 56
2 \% z# C* e( d5 b0 a7 x/ O8 s3.4.3 选择消息队列 604 }- s: G6 \% e/ S) f
3.4.4 消息发送 652 C+ I% \* _/ Q" C2 l
3.5 批量消息发送 71: ?4 v+ N/ j4 S, r
3.6 本章小结 74
/ K* r1 J" Z' g8 F6 A% q第4章 RocketMQ消息存储 75
$ q9 ~ ~8 L" u3 C) t/ E4.1 存储概要设计 752 h; A5 n+ u' _: f4 v
4.2 初识消息存储 76! T: S# l9 M% @, W; R: V2 ^* E
4.3 消息发送存储流程 78
' I% x# u0 `# J7 s5 H/ w4.4 存储文件组织与内存映射 83
. D/ g# t& K) {* A4 a9 W. b4.4.1 MappedFileQueue映射文件队列 845 y) x6 y% |4 A* H, N J0 m- R+ x0 y- |
4.4.2 MappedFile内存映射文件 87
: m$ Y" h6 ^8 k, L$ J4.4.3 TransientStorePool 93; q8 x9 o2 ~; f' d# L% C/ R) U
4.5 RocketMQ存储文件 94+ ?3 U# _3 R( J+ F& Q( n9 T
4.5.1 Commitlog文件 95
3 a1 Z4 r) {# W$ }3 R& B# v) c4.5.2 ConsumeQueue文件 97/ `2 e- Y$ O; _
4.5.3 Index索引文件 100- |% ^9 f- c9 y$ |2 ?$ C9 u
4.5.4 checkpoint文件 104
; ^) F. F' l a1 ^4 q4.6 实时更新消息消费队列与索引文件 1053 r7 E& J6 L$ ]& B
4.6.1 根据消息更新ConumeQueue 107! _. U: L1 C7 N1 K5 R F2 H' S9 \
4.6.2 根据消息更新Index索引文件 108
7 P2 L: N7 B, C% u) I+ j U) H4.7 消息队列与索引文件恢复 109* ?% i8 f Y4 O: o
4.7.1 Broker正常停止文件恢复 112- t) F2 I0 z2 V- f
4.7.2 Broker异常停止文件恢复 114
7 L* i* b% B, A8 O% \0 w4.8 文件刷盘机制 1152 Z( @. z$ ?- U* }
4.8.1 Broker同步刷盘 116
- k: d5 Y. ~4 T4.8.2 Broker异步刷盘 119
& _) V( p4 i v- g4.9 过期文件删除机制 1222 ?' R& u! g3 ^2 E" b2 ?# b1 b
4.10 本章小结 126
0 X8 Z; Z/ Q) U) B2 x第5章 RocketMQ消息消费 127& e. m+ D2 r% E9 D8 U- h
5.1 RocketMQ消息消费概述 1276 c* n% a( p( ~
5.2 消息消费者初探 128, @! l+ G, m3 d7 P; D m
5.3 消费者启动流程 130 j T% t1 l l' R' x4 U
5.4 消息拉取 133; E+ w9 f/ B P1 |4 {
5.4.1 PullMessageService实现机制 133
, [2 R# J& K% s/ N5.4.2 ProcessQueue实现机制 136
, K8 m& W$ d0 d5 x5.4.3 消息拉取基本流程 138% n( i: D9 {3 K6 |; H5 w4 k
5.5 消息队列负载与重新分布机制 154
& S9 H3 D7 ~; C+ w5.6 消息消费过程 1624 D R' m8 i6 e9 N, p
5.6.1 消息消费 163
1 P" z- \ J2 a2 k5.6.2 消息确认(ACK) 167
# ]7 G: q7 ?7 J& n, b1 V( p5.6.3 消费进度管理 171
# i. A) D+ l/ q5.7 定时消息机制 176 O% {0 |/ O6 w2 C
5.7.1 load方法 177
' `4 _: l/ w4 n; J/ U3 q5.7.2 start方法 1785 k( a' U1 G3 e7 r, C
5.7.3 定时调度逻辑 1797 j2 \4 c4 x1 e+ Q* _
5.8 消息过滤机制 181) R' m+ |% U/ o6 Q5 B, W/ m
5.9 顺序消息 186
! ^$ u3 U9 V5 M4 z& |! I5.9.1 消息队列负载 1879 T( z( S. W+ p2 j9 t
5.9.2 消息拉取 187' U' Q) \) z1 ?7 Y% T
5.9.3 消息消费 188
1 a* S5 y+ R+ ]9 d* }2 L: k0 M5.9.4 消息队列锁实现 195# Z9 X/ H! N: ]/ H) W" @
5.10 本章小结 196. i3 m8 w4 E+ L& h/ m
第6章 消息过滤FilterServer 198
8 Y# u$ ]5 b% ?8 |8 j( C* b6.1 ClassFilter运行机制 198 Z+ `* ~( z( c! t9 l& K
6.2 FilterServer注册剖析 199
+ J9 {3 q6 a+ L/ [6.3 类过滤模式订阅机制 202
( O; `* I- y6 C- y6.4 消息拉取 205 ~, X0 G) B" d) Z( [
6.5 本章小结 2069 }* l2 p4 B# `& `$ w
第7章 RocketMQ主从同步(HA)机制 207. y1 G1 O( q' y
7.1 RocketMQ主从复制原理 2073 e7 }" T I7 v9 i' A2 U* ~1 T' m
7.1.1 HAService整体工作机制 208$ A2 w+ {2 w0 j8 a
7.1.2 AcceptSocketService实现原理 2086 s. ^* |5 `% X! i3 |
7.1.3 GroupTransferService实现原理 210$ }5 K+ E7 ~! B
7.1.4 HAClient实现原理 211
. z: I5 Y+ N4 L r2 D$ j7.1.5 HAConnection实现原理 214
2 M( r! R& }$ n7.2 RocketMQ读写分离机制 2207 t) M, ]) X4 s5 e/ J/ W; E0 w" t
7.3 本章小结 223
k. @* N, p; r3 U1 i( w6 m# ^第8章 RocketMQ事务消息 225
. k7 I: |$ [3 e; o$ g# v! P8.1 事务消息实现思想 225
2 l9 q$ w9 b6 X. s* N8.2 事务消息发送流程 226
* F6 _( ? q& K% Q% P8.3 提交或回滚事务 232
! A9 ?( f* u0 O& h6 X6 Q8.4 事务消息回查事务状态 233 B! T& }# Q9 t4 J
8.5 本章小结 240
+ N* I. \% R [( u; L7 f第9章 RocketMQ实战 242# \. b9 n* M2 j" k! w
9.1 消息批量发送 242& Q' [" I$ a9 m# {" O2 N
9.2 消息发送队列自选择 243
" _2 n4 L) u( ^9.3 消息过滤 243
) @4 S8 Y5 m. ^% I- A9.3.1 TAG模式过滤 244' x% z F% @% A% `' q. g7 n
9.3.2 SQL表达模式过滤 244
1 O8 ^! C; M/ ]5 z2 A/ Y8 s9.3.3 类过滤模式 245
+ w* {: g; C! r+ h; W9.4 事务消息 2477 F; J- n7 H" m- s( `; a1 z
9.5 Spring整合RocketMQ 250
1 s7 m }0 H$ |' J' m/ L9.6 Spring Cloud整合RocketMQ 251
7 f. d* n& Q, o" Y9.7 RocketMQ监控与运维命令 2588 f. F3 a4 ~& p6 [ u+ ^9 C
9.7.1 RocktetMQ监控平台搭建 258 {6 \9 K, z2 D4 l
9.7.2 RocketMQ管理命令 261
' v* j+ j6 @3 P# p/ U9.8 应用场景分析 280) |0 D* h% L5 T# K% [
9.9 本章小结 281
7 [( I0 Q# z+ t0 t$ b4 V+ w附录A 参数说明 282 : H! x5 V2 r9 S, C5 Q6 i6 n7 G
Java资料百度网盘下载地址链接(百度云):《RocketMQ技术内幕》_丁威等[javazx.com].pdf【密码回帖可见】
% J+ [" S C- P* a# H
7 h+ R. j0 @/ n
/ m7 R0 e$ A( E8 U" g i
% z/ M' r/ w% R2 r: e% l1 P/ H3 N$ o7 r& V1 J
( ~ w! B! w6 i+ m! ^% [' Q
' u L) X* F+ y( G |
3 x' }# Y# ~3 [# Q
" b e$ C, M/ g: s# a. }) H, c6 q3 Y2 v; @
8 O5 K" A0 I# g( W4 I9 I9 \ |