java自学网(www.javazx.com)-java论坛,java电子书推荐:《RocketMQ技术内幕:RocketMQ架构设计与实现原理》2 X# o$ C" u. K% r; ^
java电子书推荐理由:本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。
5 s" y& \, Q. s5 U8 ?: ~7 S' d源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。/ R, L6 ^! ~' O/ R2 d4 Q, b9 ^2 k
4 M6 ~/ D$ V1 |
8 \" `4 [1 L- x; w/ E
作者:丁威 周继锋! ~+ q' o9 w# m: G1 D, r
出版社:机械工业出版社
; K! h' P' s4 P, N8 s8 D7 u1 c& i- ]出版时间:2018年12月 # ^, H: ?. Y! a, h' |6 J; C
书籍价格:69.00元0 d- ^3 [! i0 p2 j3 q, J3 T
9 R' s" o2 ]& a2 w, ?' g
- Q- C, ~5 ^8 _2 _+ N" j- w
8 `3 I& }( p7 U& u( _6 _3 rjava电子书目录:5 w: B+ D8 f( i2 u G1 m& |& h
第1章 阅读源代码前的准备 15 w+ p( Q" S) x0 ]0 n. m/ z
1.1 获取和调试RocketMQ的源代码 1* B6 D | H5 ~
1.1.1 Eclipse获取RocketMQ源码 2
. Z" S/ E4 R+ I4 T) k9 K1.1.2 Eclipse调试RocketMQ源码 9
/ q! J6 W! c6 T1.1.3 IntelliJ IDEA获取RocketMQ源码 15
" c( q& w, r- T) v0 V' O9 O) u1.1.4 IntelliJ IDEA调试RocketMQ源码 20
; Z" \ ]" s* n. L0 r: D1.2 RocketMQ源代码的目录结构 27/ g- U2 O. j9 j5 B7 f1 \1 c1 B
1.3 RocketMQ的设计理念和目标 28
! ^* G; a! i( E" m) b1.3.1 设计理念 28
% n) t7 ~% G) Z5 `5 {; F1.3.2 设计目标 28
5 ]. U( B& R" R1 {5 o# @第2章 RocketMQ路由中心NameServer 31
; B9 \ U, u: k4 a( ~) v2.1 NameServer架构设计 310 h; x1 o: i7 {6 G
2.2 NameServer启动流程 325 ?2 x m) a+ t3 H* r
2.3 NameServer路由注册、故障剔除 368 Z; S: A- }% _
2.3.1 路由元信息 36' ~! O" P1 w& p3 A% \0 z- ` X
2.3.2 路由注册 38
9 P# ], Y5 Q& ~2.3.3 路由删除 43
2 `/ n5 ]2 ]* w8 V; X2.3.4 路由发现 46
) E( M0 r$ E* J( j `: |9 c" {2.4 本章小结 47
, w( b8 L& O8 @' B2 U, ]第3章 RocketMQ消息发送 49: L w+ ^6 C: t6 V) y7 ` j/ @
3.1 漫谈RocketMQ消息发送 49; Y( X* [) Z+ g) f* U# p
3.2 认识RocketMQ消息 501 d( S5 W5 I5 Q4 G' ~7 ]/ q
3.3 生产者启动流程 51. H) ~3 p4 g; [/ ?" K1 c
3.3.1 初识DefaultMQProducer消息发送者 51; v$ _& M6 L& p
3.3.2 消息生产者启动流程 54
5 w- A/ n9 O5 C; S3.4 消息发送基本流程 56! v2 g+ r t. N: \9 | z' D
3.4.1 消息长度验证 56: Q. T- R+ D% M$ k' x. C N$ r
3.4.2 查找主题路由信息 56$ p6 q' @, z( l, j& @" _& @
3.4.3 选择消息队列 60; u$ M. {( t. p2 Z( w; |% O# A# r
3.4.4 消息发送 65
$ `/ {7 [" m$ _ P' d) m3.5 批量消息发送 71( P$ G8 b. G1 Q# u1 ?. U: J. Z
3.6 本章小结 74
1 A+ I4 \7 X( r* C8 }2 E第4章 RocketMQ消息存储 75
5 j+ R9 N2 s ]# j4.1 存储概要设计 75! \( m3 ^5 ?% P0 n' p
4.2 初识消息存储 76. l/ w- `) C6 @5 N* }
4.3 消息发送存储流程 78
5 V! U6 V$ t' I4.4 存储文件组织与内存映射 83
7 g. R/ I: i6 k8 l9 c6 n4.4.1 MappedFileQueue映射文件队列 84& ~ z3 R U* n! z
4.4.2 MappedFile内存映射文件 87
; }* D3 A6 c* j+ e3 m4 l$ m4.4.3 TransientStorePool 930 q+ P) u: E4 j; K: I. p- Z( R5 y
4.5 RocketMQ存储文件 94
$ K- Z& x8 P3 z. }6 W! }4.5.1 Commitlog文件 95; y+ p3 q3 g: F* W" K
4.5.2 ConsumeQueue文件 97
- X: F1 M: \5 H, t: P1 T4.5.3 Index索引文件 100' a% O8 e1 k' b9 y
4.5.4 checkpoint文件 104
6 ?0 A% y$ K5 S H! ~% P4 J4.6 实时更新消息消费队列与索引文件 105
: \' D. V3 l+ E% p6 }* f4.6.1 根据消息更新ConumeQueue 107: Y# s. Y& h* S" X0 @
4.6.2 根据消息更新Index索引文件 108# O6 N9 y! i' `; n
4.7 消息队列与索引文件恢复 109
9 ^. F% B7 @/ D) s j ]3 f4 w4.7.1 Broker正常停止文件恢复 1128 S7 c- ?) M, N$ O
4.7.2 Broker异常停止文件恢复 1143 m2 q: q7 S% e- t' b* k
4.8 文件刷盘机制 115
" l6 M" u$ X" E; }% n0 r o c4.8.1 Broker同步刷盘 116" _! |8 c" \1 T# B
4.8.2 Broker异步刷盘 119
# Y7 T3 k: l( N) c4.9 过期文件删除机制 1229 j( F" _" [& v' X3 N0 l
4.10 本章小结 126
" N: T9 f9 f" |4 X- G第5章 RocketMQ消息消费 1279 n- I2 |/ k7 P0 b1 x l- ^7 d7 F
5.1 RocketMQ消息消费概述 1274 |: P6 ^4 n4 w) L0 Q2 p I
5.2 消息消费者初探 128
$ B# U9 Y2 M0 ^7 X) W0 ^, |* _5.3 消费者启动流程 130
1 J8 I$ V/ p- h& ` M5.4 消息拉取 133; E# d2 U+ `4 F! n
5.4.1 PullMessageService实现机制 133* B1 m8 v4 z6 ?; |
5.4.2 ProcessQueue实现机制 136
* h, Z4 i8 z4 z" Q0 k5.4.3 消息拉取基本流程 138$ o' G3 }, U, \: _+ i, b
5.5 消息队列负载与重新分布机制 1543 B& a/ i/ p8 R# a4 q
5.6 消息消费过程 162( v0 J0 M/ U/ W& r9 o d: A# Z
5.6.1 消息消费 163
8 v1 H' u: h. F: d7 ~5.6.2 消息确认(ACK) 167
: Y# `4 q; z* d5.6.3 消费进度管理 1712 ]8 T! |* |# b, `6 g- c9 V/ F
5.7 定时消息机制 176
& p6 R- M: M$ k* K- C+ S* s5.7.1 load方法 1771 a2 m. h9 s) o& X; E. W
5.7.2 start方法 178
4 I) A( U9 [3 j4 k( C0 Y5.7.3 定时调度逻辑 1791 I0 l. O) I5 n7 K4 G4 y( u
5.8 消息过滤机制 181
j5 o" T9 ]: t7 ]+ r5 W5.9 顺序消息 1865 l; d+ A' G2 E, q9 V
5.9.1 消息队列负载 187) C0 D8 d/ X Q1 k- Y
5.9.2 消息拉取 187& ?0 V' r+ b* q1 r) g, F7 P
5.9.3 消息消费 188- U' X5 D' T6 M7 b% O
5.9.4 消息队列锁实现 195
) m3 p$ v6 ]$ I0 J6 l5.10 本章小结 196) L' \/ Z& K; k+ R- p0 x
第6章 消息过滤FilterServer 198
* t/ x+ O8 |% S0 x/ h% `6.1 ClassFilter运行机制 198& b( _* O# B+ s3 J& S
6.2 FilterServer注册剖析 199' l& Z& X r9 H+ ^9 G, ?
6.3 类过滤模式订阅机制 202
3 L* I5 s9 r5 Q/ t6.4 消息拉取 205
0 a1 K5 u; B" V6.5 本章小结 206- j1 ~- n) d- J3 Y' {+ G
第7章 RocketMQ主从同步(HA)机制 207: U' p+ A2 c; w
7.1 RocketMQ主从复制原理 207
# W+ h7 b0 H6 f2 U' j6 d7.1.1 HAService整体工作机制 208
- M. o+ S4 u/ l) b7 Y/ I3 W7.1.2 AcceptSocketService实现原理 2085 ?+ g. o. o0 e8 T% n1 c
7.1.3 GroupTransferService实现原理 210, ^. s1 `* U' z
7.1.4 HAClient实现原理 211
9 p7 k' C# f! S Y& X7.1.5 HAConnection实现原理 214! i( j% D9 a$ R j3 |
7.2 RocketMQ读写分离机制 220
* k, m: Q% z0 D ~/ j' j7.3 本章小结 223
& I( E, L3 S b* Q6 m第8章 RocketMQ事务消息 225) p, C9 F. a6 Z
8.1 事务消息实现思想 225
" M* Q7 Z/ I( a! ?: w# _8.2 事务消息发送流程 2260 F; i' e; E5 J8 S2 H
8.3 提交或回滚事务 232( H" Z% a/ i, a( o' z: f6 T
8.4 事务消息回查事务状态 233
* n9 C6 x8 ?2 `9 U$ v0 m8.5 本章小结 2405 j& S% x1 \1 m5 Z% z
第9章 RocketMQ实战 242 Y+ N7 u# P; n; i3 L
9.1 消息批量发送 242
$ @- X0 K: d. c n( W/ ^1 K9.2 消息发送队列自选择 2435 I6 @2 N+ A, R3 _2 m
9.3 消息过滤 2430 w6 Z$ b& v9 Z; M9 L1 f
9.3.1 TAG模式过滤 244
( d" R( O; `8 w+ U; h9 P- q2 O9.3.2 SQL表达模式过滤 244. V- ^8 W7 z$ O( @5 ]5 N" h
9.3.3 类过滤模式 245. ]- w* i7 M0 @; E; l) l
9.4 事务消息 2474 l2 F: l, _' h. {1 n7 I3 {
9.5 Spring整合RocketMQ 250% r @7 R$ y2 @: l. P" P2 f
9.6 Spring Cloud整合RocketMQ 251
- [1 y( L* g* c, H* _9.7 RocketMQ监控与运维命令 258 M4 @2 ?% G k+ w
9.7.1 RocktetMQ监控平台搭建 258( ?( i- R" P% i9 \( Q; ?' p4 C% {
9.7.2 RocketMQ管理命令 2618 y$ E/ i0 m3 m- n/ [+ A4 ~' n# O% j
9.8 应用场景分析 280# t5 T6 l% T2 @1 `3 j
9.9 本章小结 281
/ s8 i! g0 @2 |附录A 参数说明 282 5 \! N: S5 q) j k
Java资料百度网盘下载地址链接(百度云):《RocketMQ技术内幕》_丁威等[javazx.com].pdf【密码回帖可见】& L0 H2 C! Q3 M$ K4 Q$ h, K
8 w9 x: C0 [% y( Y L, p/ r& q9 o$ a* C F
9 J. ?* Q( n# R5 z3 Y* `5 @/ P, a" x( T! e& J
$ A. X* ]$ A6 H& Y' }7 }2 o
% ~$ P0 C- n0 x7 B6 o' |0 b. t2 P) V1 \
5 B ~) S7 J; B8 L2 F3 G- ^' |$ F2 n9 z( ^: {6 E
. K% H I, b2 E! W+ }) \: r
|