java自学网(www.javazx.com)-java论坛,java电子书推荐:《RocketMQ技术内幕:RocketMQ架构设计与实现原理》5 G( z* l+ ^* }
java电子书推荐理由:本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。+ N$ l2 E! f1 K& e% F
源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。4 E. v8 K) ]' U' {% i% c% e; \, R) k
; t) x! _, v1 @+ N7 Y! u- a* X
) f2 f/ b/ b- @/ b0 C作者:丁威 周继锋
- T6 a4 r' J; v/ I8 B出版社:机械工业出版社' N4 F5 ?/ p5 [; x l- p! p
出版时间:2018年12月
( s u5 D* M( I* ]9 n# s0 k书籍价格:69.00元
1 P5 d4 y0 j0 ?9 u! e( Y* ?8 M& I( R9 k- P
9 m6 ~2 V/ J8 r. r% b" m0 X0 m5 W/ i
/ V# I& f2 T+ y4 P, J4 Z( _
java电子书目录:# a1 R; |3 F' s# j
第1章 阅读源代码前的准备 1
j: i2 p+ A2 z% ]4 Q1.1 获取和调试RocketMQ的源代码 1
5 ^1 v ^# h0 |3 o# L, u7 b% m1.1.1 Eclipse获取RocketMQ源码 26 u8 N6 r2 K, G( d
1.1.2 Eclipse调试RocketMQ源码 9
- z7 O$ Z( H: w& s, g6 x2 w4 d0 s) }1.1.3 IntelliJ IDEA获取RocketMQ源码 15
# o3 E3 Y" m& p# R1.1.4 IntelliJ IDEA调试RocketMQ源码 20
) G! o7 `7 [ I! e* P X; ] G4 B1.2 RocketMQ源代码的目录结构 27, n$ a9 `0 L# i5 x' _' @2 y+ C
1.3 RocketMQ的设计理念和目标 28
$ @- t9 g; r& ?# [" l' L; `6 ]; X1.3.1 设计理念 28/ e7 e( ]& Z0 n/ W6 `4 D& n
1.3.2 设计目标 28
0 X$ |1 c1 |6 V) Q1 o% P: z8 R; [7 O第2章 RocketMQ路由中心NameServer 31
( k- \3 y$ r' N6 X, V* F- J2.1 NameServer架构设计 313 m1 |" E9 V5 n4 y2 i
2.2 NameServer启动流程 32$ i5 ]) Y, \0 F7 U
2.3 NameServer路由注册、故障剔除 36
& \- L) O4 s- c; Y5 X/ F7 ~2.3.1 路由元信息 36! p2 O a* L1 [$ O$ t9 I
2.3.2 路由注册 38
/ e8 e# p$ {; P% A5 e: [. M# N2.3.3 路由删除 439 w1 ^) @8 E: p+ v
2.3.4 路由发现 46
7 B+ K1 A; [8 a( {- `2.4 本章小结 471 U+ K% _! I: m: L* C+ X7 R
第3章 RocketMQ消息发送 492 k+ m& i' p. y7 C+ _
3.1 漫谈RocketMQ消息发送 491 X2 q5 @/ @5 d
3.2 认识RocketMQ消息 50
& }. I7 S! m' }3.3 生产者启动流程 51& O' p) `7 `$ Y7 @
3.3.1 初识DefaultMQProducer消息发送者 51
) u1 s C, E- T4 U6 a3.3.2 消息生产者启动流程 54
6 H! ^5 c% ?* r3.4 消息发送基本流程 56" R1 r( O8 h# r7 V: Q
3.4.1 消息长度验证 569 O# @" ?3 M2 N1 o
3.4.2 查找主题路由信息 56
" W% E, X+ M# y3.4.3 选择消息队列 60* U; D; K( s) T
3.4.4 消息发送 65
. L+ u2 ?' H0 D9 V3.5 批量消息发送 71# V+ ~+ q" \9 ~4 `; G! X( ]
3.6 本章小结 74
7 R; A2 [" {% l" R A5 g; O- c第4章 RocketMQ消息存储 75
$ M% L% X: h7 |2 D9 t% |4.1 存储概要设计 75% g2 k) [4 ~2 D, c2 O. J* \( ]
4.2 初识消息存储 763 [5 `: c. y$ `) a* ~: ~/ }. p8 ?3 l
4.3 消息发送存储流程 78
( [+ g+ Z1 w" S4.4 存储文件组织与内存映射 83
2 }7 m9 T$ @' {. S! e1 V- s4 u3 m4.4.1 MappedFileQueue映射文件队列 84
/ N4 I& E% z3 e$ I4.4.2 MappedFile内存映射文件 87* P/ a" q" s6 `2 a; y
4.4.3 TransientStorePool 93$ a& f. _) R1 i6 g$ H
4.5 RocketMQ存储文件 94
' P5 ?! w8 [4 p, L, R& C4.5.1 Commitlog文件 953 f; X8 e- e3 Z, A4 H
4.5.2 ConsumeQueue文件 97
( }! E, h; a# |1 Z* g$ m v4.5.3 Index索引文件 1008 ^5 D9 q" Z% v
4.5.4 checkpoint文件 104
7 U( o6 T* b5 J H6 o3 k; T4.6 实时更新消息消费队列与索引文件 105
& y' ~5 l% p* @' ?3 [' F4.6.1 根据消息更新ConumeQueue 107+ d/ [7 h" l2 h2 r2 C
4.6.2 根据消息更新Index索引文件 1080 c& W; G% y% ^/ |( H
4.7 消息队列与索引文件恢复 109& j6 d, K* o8 v! `+ ]: r$ P3 ~: x
4.7.1 Broker正常停止文件恢复 1127 y7 g% _. k4 B+ c' h
4.7.2 Broker异常停止文件恢复 114! B& ^8 X/ X. @
4.8 文件刷盘机制 115' r/ I/ G; }* R
4.8.1 Broker同步刷盘 1160 B2 K; C ~: T/ f
4.8.2 Broker异步刷盘 119
: D, F4 `' A8 n4.9 过期文件删除机制 122
2 R* p1 o% j) f( E- F3 I r/ T4.10 本章小结 1265 R6 U% Y+ z& {; `2 W9 R3 y5 x& p1 E) j
第5章 RocketMQ消息消费 127
4 j. ~4 a/ H0 J B. s0 t) W, R5.1 RocketMQ消息消费概述 127
9 K _3 o7 J- m- R0 {# W5.2 消息消费者初探 128
( ^" |7 N2 M, C/ o1 B5.3 消费者启动流程 130
5 e9 t1 k+ I! p2 Y* n) J+ P1 @5.4 消息拉取 133
# D/ n# e( y$ v0 L4 [5.4.1 PullMessageService实现机制 133
6 L3 ^$ y: o! D# E5.4.2 ProcessQueue实现机制 1364 O% h/ X: S5 K6 m" r2 E7 Y
5.4.3 消息拉取基本流程 138
1 Q* h. x8 w" R0 ?8 ?5 w! j5.5 消息队列负载与重新分布机制 154$ |& I$ `- m- L t* _
5.6 消息消费过程 1627 y3 |* l$ z- V- F( i) H3 N4 U- e
5.6.1 消息消费 163
0 j" k" \: |" d, s5.6.2 消息确认(ACK) 167
! y3 G3 _ |; e5 p) a c: |% Y7 {$ o5.6.3 消费进度管理 171
+ y4 t2 c) L) R% x& }5.7 定时消息机制 176
4 }3 l) Z! S! D6 F: _$ S5.7.1 load方法 177
4 j4 Y ]7 {0 Y3 c) N! P: \6 Y9 w5.7.2 start方法 178
" V4 j+ e% A- d. l* C1 `% L; J5.7.3 定时调度逻辑 179
# {* G1 N5 g; x7 n4 i/ [5.8 消息过滤机制 1819 o. n) M' L9 O/ }* _6 J5 o/ e- @( [
5.9 顺序消息 186
6 h" {$ f# N e$ I0 E$ N7 c5.9.1 消息队列负载 187& j3 ?( q7 p$ G# l$ y
5.9.2 消息拉取 187$ A' |$ y% K/ q& _# o# c
5.9.3 消息消费 1882 L0 B3 p/ y8 j; C* z+ K4 s7 w! X
5.9.4 消息队列锁实现 195$ e s, S" m4 M. C
5.10 本章小结 196
* C7 t- n( L# m7 x) g) }: J第6章 消息过滤FilterServer 198- q: C5 U3 `7 k( V) n& x% r
6.1 ClassFilter运行机制 1985 i7 }- C+ I6 z5 s1 l' N* V ?3 f
6.2 FilterServer注册剖析 199
" z9 s4 B6 @( F. _% p* G# X7 i6.3 类过滤模式订阅机制 2021 F* S# y1 `# _$ @; J
6.4 消息拉取 205
9 N1 j1 b/ C6 M' ]6 X! d3 {' n' F6.5 本章小结 2068 B. @ a# z; I! [$ z5 ^( F9 g
第7章 RocketMQ主从同步(HA)机制 207
3 k# K/ e9 E; W5 Q8 F, {/ o7.1 RocketMQ主从复制原理 207
- R+ @3 K% ]0 h: b5 B/ `* u( ~, y8 L* [7.1.1 HAService整体工作机制 208
; C4 P( y' ~# o. \7.1.2 AcceptSocketService实现原理 208 D. h! e6 B3 `9 N3 a# I
7.1.3 GroupTransferService实现原理 210& v* ^' q x* E( W
7.1.4 HAClient实现原理 211! u, |% J* T* |/ n
7.1.5 HAConnection实现原理 214 @7 r. y- B7 l0 e) r# r9 @
7.2 RocketMQ读写分离机制 220+ r; m0 y9 D# u/ F% o0 W b
7.3 本章小结 223
8 J' ?0 t- t. k5 [! W第8章 RocketMQ事务消息 225
9 b7 c0 P2 b: m e6 H8.1 事务消息实现思想 225
2 W7 j8 d2 u( M1 \/ M8.2 事务消息发送流程 226( G; s% n8 j0 P* K- y
8.3 提交或回滚事务 2323 ^/ X+ h8 t) P v( F0 g Q6 x
8.4 事务消息回查事务状态 2334 Z+ s; a0 _, g/ j) i1 Q' e
8.5 本章小结 2407 S& I( J" M& D
第9章 RocketMQ实战 242
& r5 ^. J6 {8 R* Q" y! Y+ i9.1 消息批量发送 242" ? n" j2 R: ^4 C k8 o5 @& S
9.2 消息发送队列自选择 243
: N& k' W, L W' [( g2 ]9.3 消息过滤 2439 R/ K! ~0 a; X2 s8 @+ n
9.3.1 TAG模式过滤 244
, g/ K" y- l1 V% i# S" w9.3.2 SQL表达模式过滤 244" ~# E# @0 U/ B/ F& Q# q. n
9.3.3 类过滤模式 245
- H" m# T( d# N$ r# I+ \9.4 事务消息 247
9 b9 P Y* y( n$ E2 u( _9.5 Spring整合RocketMQ 250! ~8 _4 n7 U, [. a
9.6 Spring Cloud整合RocketMQ 251: [: r4 {) U+ b# m6 \
9.7 RocketMQ监控与运维命令 258' V }+ M, q/ b2 S: ^& [
9.7.1 RocktetMQ监控平台搭建 258
: D0 h) P t+ G5 S( H3 _8 K9.7.2 RocketMQ管理命令 261
8 s! R* x- c/ o8 B$ t0 z' _9.8 应用场景分析 2800 x) e" X5 {" v. B
9.9 本章小结 281
+ d s- e2 O$ K D, W附录A 参数说明 282 2 g+ S4 H+ H/ U- u
Java资料百度网盘下载地址链接(百度云):《RocketMQ技术内幕》_丁威等[javazx.com].pdf【密码回帖可见】0 o: p( z3 C5 Y- n/ i' m* G, s
* w& Y6 H: r. U2 N; b: D3 Y. s% w
5 J! U- Z9 a7 ]& Q& Z1 [& S
) G" S6 h. G* b% C# x* u2 S3 k! x" I# K0 Z k
% ?# l8 U$ I* S2 \" }% r( N7 G
9 r4 n' F$ v ]3 ?5 J0 H: q; H2 Y. x# \
" \/ s# U* t' Y9 ]$ n1 Y# v
8 _% J; R) M- ^& L! _& b9 e7 e g
5 p: A% t: _3 Y+ V i, y/ Z, ~ |