java自学网(www.javazx.com)-java论坛,java电子书推荐:《RocketMQ技术内幕:RocketMQ架构设计与实现原理》
- T) h/ U2 s# }: Q( X, sjava电子书推荐理由:本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。: w1 e) s# X- z9 K& \, [
源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。
) e- n5 W8 M2 I0 [% Z/ K2 ?
! u: r( f: u7 b9 f! e$ O& f B5 k
作者:丁威 周继锋5 w4 J7 r8 p* K( g) D1 ^
出版社:机械工业出版社7 M. G# Q9 I* J s% A
出版时间:2018年12月 7 F6 U) t1 e8 t @
书籍价格:69.00元
2 w! b) B i8 i+ z9 P. I$ U3 p& g, K e' S; b6 A/ W
4 v) w" y: q. Y! Z# m8 P
0 y3 D# {1 t# o! |6 L
java电子书目录:
% B& D M, T& c7 |6 X( u第1章 阅读源代码前的准备 1; ^8 l: ^8 L- r# ? c7 p
1.1 获取和调试RocketMQ的源代码 1! A4 j( Q+ \( s6 F G; T n' t
1.1.1 Eclipse获取RocketMQ源码 2
, f* l; n' f) m9 r7 R* I& E- V2 z2 V1.1.2 Eclipse调试RocketMQ源码 95 s$ e% T+ e* H4 R5 s
1.1.3 IntelliJ IDEA获取RocketMQ源码 15- J2 m8 `: t0 T6 D% j+ `( v0 S0 l
1.1.4 IntelliJ IDEA调试RocketMQ源码 206 W$ N# S* O I, Z) z- c
1.2 RocketMQ源代码的目录结构 27
7 c9 f! G b' H& W" f6 F1.3 RocketMQ的设计理念和目标 28
_7 y7 ]. v2 H6 W1.3.1 设计理念 28
$ J% o7 |9 T+ x1.3.2 设计目标 28
, n& M8 r4 M- r) q3 L4 w第2章 RocketMQ路由中心NameServer 31% e9 _1 c/ ]' E, k
2.1 NameServer架构设计 31( X# t( l( c( A
2.2 NameServer启动流程 328 K, u3 S7 S. {
2.3 NameServer路由注册、故障剔除 36
1 r3 {/ o4 G L9 S8 V; ^2.3.1 路由元信息 36& m# \/ H* K; j. N ?9 _9 _% S
2.3.2 路由注册 38
" c7 j' v, o, @ C2.3.3 路由删除 43 z r5 u9 A# e/ D |" v; l
2.3.4 路由发现 46
" r; B! M4 @5 Z0 A. k. A3 }2.4 本章小结 47) s3 g# ]3 ]5 a- j. j
第3章 RocketMQ消息发送 49
2 U7 u* D' \! B' I5 L0 _3.1 漫谈RocketMQ消息发送 49$ b; P4 ^) R1 \3 z1 T% Y3 ?
3.2 认识RocketMQ消息 501 ^. |1 ]& e' Z2 ^
3.3 生产者启动流程 51
/ L6 d+ v$ Z/ I* v, g4 q3.3.1 初识DefaultMQProducer消息发送者 517 {+ {) T4 c: p! _& Q) p
3.3.2 消息生产者启动流程 54% z. v* q( y4 K( j4 E5 C
3.4 消息发送基本流程 56
; ]/ d6 B' b- c/ @- X1 C3.4.1 消息长度验证 56! u1 ~; n# i |- N8 ^
3.4.2 查找主题路由信息 560 r& x' K- }# D {/ |
3.4.3 选择消息队列 60; [( c" p5 f# g4 X2 V
3.4.4 消息发送 65: R. u% l. r, X7 g/ i
3.5 批量消息发送 71
( w& V0 Y9 u! E( r3.6 本章小结 74
+ T0 w4 [1 `7 m6 |6 j第4章 RocketMQ消息存储 75
8 e) L" }' d# k$ G @: H1 u4 P. |4.1 存储概要设计 75
D6 ~+ f2 p( q# d2 s4.2 初识消息存储 761 ?, G5 E9 e9 g7 D8 j$ y
4.3 消息发送存储流程 78
7 w5 L( ?4 k5 G, j* b6 P; D: w4.4 存储文件组织与内存映射 83
" c" R5 I9 k' ?4.4.1 MappedFileQueue映射文件队列 84
; Z/ k3 ]. [3 c8 H* y4.4.2 MappedFile内存映射文件 873 ^( r2 U, ?/ L* W: Q: s6 g
4.4.3 TransientStorePool 93/ T, J: ~# l7 g# u* o- B9 Q
4.5 RocketMQ存储文件 94
" z" w |% N. {6 O1 ?! k& A/ `) O' |4.5.1 Commitlog文件 95
, U* @3 H/ }/ Q* J( `1 F4.5.2 ConsumeQueue文件 97
2 d1 i7 V( b2 j3 o7 u* L3 M. Z4.5.3 Index索引文件 100
) G6 Y) s3 ?9 f9 E& m0 o4.5.4 checkpoint文件 104% w/ Z) ]9 i1 X# T# s+ J
4.6 实时更新消息消费队列与索引文件 105- f6 S/ M8 n9 Y" {* [
4.6.1 根据消息更新ConumeQueue 107
9 ~" b9 z3 k7 } Z( h" D' V4.6.2 根据消息更新Index索引文件 108: c L- f W0 X* |, s
4.7 消息队列与索引文件恢复 109" W- ~) z/ F9 c+ G% j% M
4.7.1 Broker正常停止文件恢复 1129 Y y0 ?# [3 ]6 c7 h
4.7.2 Broker异常停止文件恢复 114
. z, ~0 j0 {3 I4.8 文件刷盘机制 115/ G( ~# D. o4 J% u
4.8.1 Broker同步刷盘 116, @% B1 J4 ^1 ?7 _: x3 f+ ]. i$ h( Y
4.8.2 Broker异步刷盘 119
e) t0 x; H8 G. ^2 T4.9 过期文件删除机制 122
' U, |3 B& I9 {# o1 c8 B4.10 本章小结 126
1 D& {# X5 Z4 c9 D D第5章 RocketMQ消息消费 127
' H3 ~8 S" g: c0 P |$ Y5.1 RocketMQ消息消费概述 127! V6 }6 ?6 w9 _: i; G( X& T; _: P ^
5.2 消息消费者初探 128
" ^9 D7 I* z6 h& s* _% `5.3 消费者启动流程 1302 e E2 B T( g, i
5.4 消息拉取 1332 X6 |9 Y' i' t( `+ b
5.4.1 PullMessageService实现机制 133
0 Y2 l c, b% `1 W, l9 Q5 u" n' i5.4.2 ProcessQueue实现机制 136- ~! X% c; n/ m9 a0 t: Z
5.4.3 消息拉取基本流程 138
7 `+ G5 A! n' O6 o0 J5 k3 q' S5.5 消息队列负载与重新分布机制 154
( G/ d5 f& ~$ ^6 K+ M5.6 消息消费过程 162
& {+ [8 c$ y4 a E5.6.1 消息消费 1637 s# g( d% L" j3 |8 {( x8 e
5.6.2 消息确认(ACK) 1670 D: P m0 |1 o$ F
5.6.3 消费进度管理 171
: R& T3 t5 S7 o5 }5.7 定时消息机制 176
' \( z7 F9 m6 @- q, r5.7.1 load方法 1777 t5 V* ~( K: Q8 ~' O c9 h
5.7.2 start方法 178+ I4 r ^! P% O% h; ]
5.7.3 定时调度逻辑 179
! m0 X. k$ t2 E$ ?3 Y0 B5.8 消息过滤机制 181
3 d0 r4 t: l2 o, G5.9 顺序消息 1865 d+ M) p: F4 ~
5.9.1 消息队列负载 1878 z% e" q) _6 m" A% ]* ?5 h
5.9.2 消息拉取 187
3 Q2 A/ J6 c* ?$ S$ v( P/ ]5.9.3 消息消费 188
6 h! Z- l9 o4 K6 N7 Y+ S* S5.9.4 消息队列锁实现 195
v" ]$ i* a0 q- {, ]5.10 本章小结 196
: X: D( C2 H Q% N3 s% h' {9 t, k( T第6章 消息过滤FilterServer 198
0 U+ { ?% l- g, Y* D% ^6.1 ClassFilter运行机制 198
1 m d8 q ?0 n/ X) ]1 V9 u6.2 FilterServer注册剖析 199
# ?" b9 F- _+ i# k( a6.3 类过滤模式订阅机制 202
- p+ X: N3 r# K; D6 Y6.4 消息拉取 205- P+ P* I6 F) ]3 i& N0 K: }) R
6.5 本章小结 206
+ u @( w$ U1 ^- s第7章 RocketMQ主从同步(HA)机制 207
$ l$ p% {* Q7 B/ N: u. @7.1 RocketMQ主从复制原理 207: w. y0 O2 i7 A$ t
7.1.1 HAService整体工作机制 208
* t* k& u$ F( ^ a7 `0 r7.1.2 AcceptSocketService实现原理 208/ s$ H/ J5 w+ n6 ~* L0 ~7 s6 \
7.1.3 GroupTransferService实现原理 2109 ?* Z) h+ u: b! T5 C3 o- Y& t) H" ^
7.1.4 HAClient实现原理 211& h0 f1 O' b, z0 K
7.1.5 HAConnection实现原理 214
, {/ ?& d/ _. c6 ]2 _% [. r7.2 RocketMQ读写分离机制 220
; b2 k4 Z: {: Q/ Z* I( z7.3 本章小结 2238 j6 l3 j/ K, T- o
第8章 RocketMQ事务消息 225* U2 M9 s7 u8 \* S
8.1 事务消息实现思想 225
* M Q! E3 ~2 Q8.2 事务消息发送流程 226$ t- _' d' v$ e6 l2 F5 [: |
8.3 提交或回滚事务 232
7 R5 s* G, u# v4 t0 `8.4 事务消息回查事务状态 2333 S9 `6 R) o3 [8 j: ]2 T& B
8.5 本章小结 240
7 c, q. ?5 B7 U y& r第9章 RocketMQ实战 242
. o1 `0 B4 \0 A1 g8 Z: o1 [3 ^2 W9.1 消息批量发送 242
4 V4 O/ n, }; y& G. B' t+ C* S9.2 消息发送队列自选择 243! Z3 y$ a$ X5 M
9.3 消息过滤 243
% b4 B. o: P; G5 A- s9.3.1 TAG模式过滤 244/ X5 g+ O1 H5 T/ j0 A" ?
9.3.2 SQL表达模式过滤 244; a3 j& @: {9 B6 V! ^1 Q
9.3.3 类过滤模式 245
: F: m5 g2 h7 X! }9 r9.4 事务消息 247
5 M" E. h% Z' V* I( s7 U9.5 Spring整合RocketMQ 250) x( x: u4 ~( f: s& n( ^' S/ \
9.6 Spring Cloud整合RocketMQ 2514 x6 @ r& R3 a
9.7 RocketMQ监控与运维命令 2586 z% h0 ^9 D2 D
9.7.1 RocktetMQ监控平台搭建 2589 b" [4 G& R' _* E# _7 L1 p( ^' _
9.7.2 RocketMQ管理命令 2616 e+ V g( V$ A/ t3 E4 w
9.8 应用场景分析 2803 u* U9 X2 k5 |* r" i
9.9 本章小结 281' e: |6 [) O" c6 M
附录A 参数说明 282 - }2 n# x' h+ x# ~6 A, f' j2 Y
Java资料百度网盘下载地址链接(百度云):《RocketMQ技术内幕》_丁威等[javazx.com].pdf【密码回帖可见】
7 w. j$ E r$ [! C5 k# U9 x; w8 t
- a D. n- | ?; Z. e$ ?
" V" w. F1 m9 z4 P% C! m: L; G
7 z2 S0 Y1 Y( o
( Q9 Z6 G* v2 D7 P4 z' m
. `' T; i! P7 N) ^& k
( f/ j) C2 o0 J: V D) J' y5 B9 G
8 a) s3 F/ v c" R( X `8 H! L
8 j9 s9 n C2 z% e u
5 R9 R, m6 E$ u$ B5 n |