|
Java电子书:RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com2 h' Y0 Z3 E; ~) h6 t
' C) S4 g& X8 b6 [2 z7 O' z8 c+ o
; t+ j7 ~6 d" {1 O: q4 w0 Y& m* C4 f编号:mudaima-P0202【Java吧 java8.com】
% f& B: p$ a- [- b" m6 U c+ d! O+ B
# B( f8 J5 [9 h( Q+ l# }6 H
+ M# T4 K9 Y/ _* n: W
Java电子书目录:第1章 阅读源码前的准备1
8 }: s% s, [, r* a# z$ {3 E6 d* i. {6 X1.1 获取和调试RocketMQ的源码1
s; ^. \ N- X% G+ j9 i1 h5 v& S1.1.1 Eclipse获取RocketMQ源码1
# [5 p6 s$ d: f% L* K& H1.1.2 Eclipse调试RocketMQ源码8
/ u1 C# @$ k1 Q1.1.3 IntelliJ IDEA获取RocketMQ源码14' w4 Y$ L, c' R$ p# ~5 [, A0 x
1.1.4 IntelliJ IDEA调试RocketMQ源码16& i0 Z- A, h4 m- K8 L1 i+ l' S
1.2 RocketMQ源码的目录结构23
+ p% Y+ K1 r+ ~" _1.3 RocketMQ的设计理念和设计目标23
7 K: y) N/ K8 b" Z$ l& i' W1.3.1 设计理念235 Q9 X) |5 v/ J) j0 r5 u' U
1.3.2 设计目标24, E' }' T1 M7 O& C
1.4 本章小结26第2章 RocketMQ路由中心NameServer27
- d9 y4 P+ ?: H% ?! x2.1 NameServer架构设计276 m. W3 d$ L- m% D6 `
2.2 NameServer启动流程298 Q" O) H* b& Z6 f$ @: M
2.3 NameServer路由注册、故障剔除32
8 f3 r2 |- r$ Y9 h2.3.1 路由元信息326 G9 t9 V& |9 {2 Z5 Q
2.3.2 路由注册35. I+ J, a6 y( k& ?. ], Z7 P" P
2.3.3 路由删除40$ a* U" y c; s* L k4 w
2.3.4 路由发现432 k2 @; e; \9 O1 {
2.4 本章小结44第3章 RocketMQ消息发送46
" p* s" n0 |- D" m: s) n+ S3.1 漫谈RocketMQ消息发送46
9 ~ }+ R% o; |3 d# u* R/ y3.1.1 topic路由机制474 l+ `4 z3 s/ e1 [& }; a
3.1.2 消息发送高可用设计48
0 Y7 L6 v/ K- Z# O5 H7 R6 r3.2 认识RocketMQ消息50
/ n3 k6 G# G; H* M4 g1 }2 H3.3 生产者启动流程51
" ~( I) L$ S" o4 T4 C! q# J3.3.1 初识DefaultMQProducer518 l2 q: F, G0 ^2 E) R- A
3.3.2 消息生产者启动流程549 d6 b1 M' g- n: J7 k c1 D
3.4 消息发送基本流程557 o" c; z; ]( D# ~6 C' f
3.4.1 消息长度验证56
4 G) R1 V+ P% e: q- A) R9 M3.4.2 查找主题路由信息57
- K( a4 ?- j( t& m- W3.4.3 选择消息队列60
! u, a! d z/ [6 ^3.4.4 消息发送65# r8 f4 |, W0 x: a
3.5 批量消息发送729 T! J0 I9 ~( o3 i
3.6 本章小结74第4章 RocketMQ消息存储75
- w" h. G( B( q0 h/ d4.1 存储概要设计75
+ Y d1 P& n) c z3 Z4.1.1 RocketMQ存储文件的组织方式763 g1 s% u5 S2 q2 F: Q! H
4.1.2 内存映射80
$ s4 c+ \; a& Y" v0 [4.1.3 灵活多变的刷盘策略81
3 B! I7 ~/ M5 _1 ]" K4.1.4 transientStorePoolEnable机制82: Y8 b; x& }: X3 Z0 O$ L6 `
4.1.5 文件恢复机制82# c+ ]! ]1 X- h3 S/ N. ~1 Y
4.2 初识消息存储83
4 U$ ]7 F" p8 c5 R* v1 ~4.3 消息发送存储流程84
6 z7 }' w; z$ b, C( j( i4.4 存储文件组织与内存映射90& b: }' X0 E; E3 g$ \% s
4.4.1 MappedFileQueue映射文件队列 904 z$ b; t# h6 W" ?3 m1 g! e
4.4.2 MappedFile内存映射文件92
. d8 E9 E9 D; D( K* F4.4.3 TransientStorePool99
" N! f- [! w- ?6 }5 p: k* f, A8 c' k4.5 RocketMQ存储文件100; X0 h( Y* u8 \; }, N6 f: Z' R2 G
4.5.1 CommitLog文件101
( J7 d, q4 I% A1 \2 N- e9 J4.5.2 ConsumeQueue文件102
( l6 Z! ^- }- l1 ~8 I4 I4.5.3 Index文件106
z8 G6 P7 A. p! A4.5.4 checkpoint文件110
) b: b" M# i. |3 F4.6 实时更新ConsumeQueue与Index文件111
# S6 _; Y. d c8 J1 n: r2 S% Z4.6.1 根据消息更新ConsumeQueue文件113& K, z# l8 j- w# z* F* h# v9 @
4.6.2 根据消息更新Index文件1141 c- S3 R% u1 P
4.7 ConsumeQueue与Index文件恢复115
C6 j. n0 D5 K q4.7.1 Broker正常停止文件恢复118
+ g# ~ `8 h/ l9 Y& F4 p4.7.2 Broker异常停止文件恢复1208 _2 f% m/ ]/ t6 M7 S! @& T
4.8 文件刷盘机制1219 e% Y7 ^2 B/ b0 o# u9 M
4.8.1 Broker同步刷盘122 o; s) B( H, p
4.8.2 Broker异步刷盘125: @$ z9 c) U. ]3 z
4.9 过期文件删除机制1282 D) S5 h1 t' G3 u# y) R
4.10 同步双写132
3 c, h$ q" |4 O; K2 j4.11 本章小结136第5章 RocketMQ消息消费137
$ v9 \9 a5 U6 z1 d+ x5.1 RocketMQ消息消费概述137+ Y. q6 B5 J% E! L" b
5.1.1 消费队列负载机制与重平衡138
) h( ~4 r$ r. }! r- H7 [) H, |' Y5.1.2 并发消费模型139" @( o' g8 E# y8 d! ^% u
5.1.3 消息消费进度反馈机制139# X& w$ {/ o; n. n) S. D
5.2 消息消费者初探141
& g$ H$ J) h: _, \' m5.3 消费者启动流程143
! i, K' i7 w! |# ^4 x0 I5.4 消息拉取146" U5 X0 x0 K7 ~' q8 s" f2 V* `
5.4.1 PullMessageService实现机制147
& x( v T! a9 ]/ f. Z1 n5.4.2 ProcessQueue实现机制149
1 W4 H( r! p% E! L6 @1 m5.4.3 消息拉取基本流程150
0 K0 ]6 L4 K/ ~2 q; w6 G! @% `5.5 消息队列负载与重新分布机制167
8 X8 v+ U0 ] [1 r3 J1 y5.6 消息消费过程175
7 u* L5 A8 |+ u3 ]- w% Z9 P% S$ R, ]5.6.1 消息消费176
& ] Z9 E- w) _" Y/ y$ D/ j5.6.2 消息确认1807 e' |/ q; }* w! v' `3 h9 X
5.6.3 消费进度管理184% o/ e: a( Z4 \
5.7 定时消息机制189
: j# Z4 }& H9 H" ~* `8 m7 E5.7.1 load()方法190
) Y& T$ ?3 o: }/ Q4 Z4 ?3 Y5.7.2 start()方法190. c8 ]: J* U: z
5.7.3 定时调度逻辑192
5 a$ G, u& A. G# J5.8 消息过滤机制194' x$ M: c) f( V- M
5.9 顺序消息199* k, l9 m/ i; u
5.9.1 消息队列负载1998 `- Q0 e# o& C. m+ Q5 M& U6 V f6 V
5.9.2 消息拉取200
0 A5 g; }$ @: }: _' B! k5 X5.9.3 消息消费201
3 A' Q+ R! f5 a5.9.4 消息队列锁实现208
$ i8 t5 Z0 d& t5.10 本章小结209第6章 RocketMQ的ACL210
1 N$ V$ M2 ?7 Y0 g- `+ t! c6.1 什么是ACL210
& f: P" T" i I6.2 如何使用ACL211
4 d; k. v, t# V1 }6.2.1 Broker端开启ACL2116 [$ r1 a3 V7 o) r& `5 ^
6.2.2 客户端使用ACL212
/ c( B9 e+ `" G+ J- n* ?, T1 [6.3 ACL实现原理214
1 |7 B% b! { o) H6.3.1 Broker端ACL核心入口214
" W) i6 V7 i; \1 w# v+ ^( J- T6.3.2 PlainAccessValidator详解216
5 i! }+ S! V' a( }' _ A0 z# S6.3.3 PlainPermissionManager详解2201 ?* K i) \3 S* u4 V" k h' s9 Q
6.3.4 AclClientRPCHook详解228! {- _5 I: K1 A+ _3 H6 {
6.4 本章小结231第7章 RocketMQ主从同步机制232. v6 @6 O! V' N! A3 ^( O3 g& H
7.1 RocketMQ主从同步原理232
K: y' v* a$ I" T' }' c7.1.1 HAService整体工作机制233
9 X {. @9 k$ M7.1.2 AcceptSocketService实现原理233) V, ^8 u5 |! S' m+ D+ X0 h0 P
7.1.3 GroupTransferService实现原理2350 ]+ w% r; p4 J
7.1.4 HAClient实现原理2367 y Z/ f/ E p3 S* h
7.1.5 HAConnection实现原理239
6 ^% L, {2 M& Y7.2 RocketMQ读写分离机制245
5 S7 r. B! [/ n- U0 h! z7.3 RocketMQ元数据同步248
8 ^% M! ]$ G9 K U8 @% D7.3.1 从节点主动同步元数据249
; x) r" _1 x& V. Y, [9 S* y6 t! [7.3.2 主节点消息拉取主动同步消费进度250" m" b! N' K# N8 ` e& N
7.4 本章小结251第8章 RocketMQ消息轨迹252
# j% Q) h h9 x" N3 v' a8.1 消息轨迹的引入目的和使用方法252
# q( W' ?; \2 N7 f! B8.2 消息轨迹设计原理255
" n9 q) O6 ?: t( m7 a/ c$ K8.2.1 消息轨迹数据格式255$ E2 P" @/ v) s8 l: g/ n
8.2.2 如何采集轨迹数据256
6 i! o0 b# N" [8.2.3 如何存储消息轨迹数据257) F1 [) ^5 l+ K' M+ z! Q% }
8.3 消息轨迹实现原理257
; d: b, Y, V" o5 F" V0 v6 A8.3.1 寻找消息轨迹入口2579 m3 }2 u o3 U5 Z7 Y, ?! I" I
8.3.2 消息发送轨迹数据259
- u7 t0 M# T( u: E$ \6 ?8.3.3 消息轨迹异步转发实现机制261, O5 ~& ?5 @- M, o; ?4 @7 ^
8.4 本章小结265第9章 RocketMQ主从切换266
- E4 |8 V8 `6 F/ K2 g$ @9.1 主从切换引入目的2661 a7 |0 ?% F8 M- F0 L1 G
9.2 Raft协议简介267# D; J7 \' N/ `: ]' ?8 _) k/ N/ L
9.2.1 Leader选举267
$ f6 J7 D. p: F5 |# f9.2.2 日志复制268
4 a1 O$ g6 U& L7 B5 @1 V- Z: X9.3 RocketMQ DLedger主从切换之Leader选主269
/ [5 W. M# y5 K1 M9 |9.3.1 DLedgerLeaderElector核心类及核心属性2709 e/ |( _, g# P: f% K" E
9.3.2 选举状态管理器初始化271 G7 ]1 u# W. C6 K: y
9.3.3 选举状态机状态流转273
8 I' r# K! _8 H$ l$ _5 R9.3.4 发送投票请求与处理投票请求280
8 o: ~8 K: O/ S9 [" w1 _9.3.5 发送心跳包与处理心跳包283
F7 R$ `6 T* p" ^4 u y9.4 RocketMQ DLedger主从切换之存储实现288
3 G# ^+ {" H( S9.4.1 RocketMQ DLedger核心类及核心属性288% S y& g0 K4 [
9.4.2 RocketMQ DLedger数据存储协议290
; ]: _& T4 h2 @9.4.3 RocketMQ DLedger索引存储协议2919 v5 t# y Z1 b6 C Q/ ?
9.5 RocketMQ DLedger主从切换之日志追加291# B7 @0 t- v3 O, ^: X5 D5 d
9.5.1 日志追加流程概述291
1 A' y, d( @4 i9 U- G8 z9.5.2 判断Push队列是否已满293
$ e$ r$ M( W: m1 i' t) G# |9.5.3 Leader节点日志存储293$ ~) l( A( C# W3 R* Z
9.5.4 Leader节点等待从节点日志复制响应ACK298
3 Y: J$ r8 c1 }- t9.6 RocketMQ DLedger主从切换之日志复制299
: u" A" z; c4 b" ?8 [; b9.6.1 日志复制设计理念300* A, O$ [- y/ l- c3 f
9.6.2 日志复制类设计体系301
' ], |" @- d0 _4 v9.6.3 日志转发303
, M' ^/ `2 k' q3 g9.7 RocketMQ整合DLedger设计技巧与实现原理326
+ M. M+ \ T' `& D$ Y5 V9 R9.7.1 数据存储兼容设计327
4 q; ?& M& I: y2 b- ]: l9.7.2 数据存储兼容实现原理3281 }" O9 a! K+ b
9.7.3 主从切换元数据同步机制337
C0 f2 J; z f9 w9.8 RocketMQ主从切换实战344( ?& O" B- F" m) M% `
9.8.1 主从切换核心配置属性344# \; n v* p- S3 |$ B7 D# d$ Y7 `
9.8.2 搭建主从同步环境344
. V, p) [6 ~- ?* M9.8.3 主从同步集群升级到主从切换346
l! z) a2 \! Z2 _2 {. ]9.9 本章小结350第10章 RocketMQ监控352
2 ^1 }4 X" a+ b' F1 F$ v10.1 设计理念352
/ X' \) g# e) ~& S* f/ N3 C1 T10.2 实现原理3530 P9 y& Q* X- \2 U4 ^% L- c2 T/ l
10.2.1 监控相关类图353 b* o3 j( e; M" y8 s/ o
10.2.2 监控原始数据采集流程355) a% a' r: D* q6 [3 J5 T
10.3 监控数据采样机制356
% o; h. O! d9 y$ Y( l9 x# n. m8 m' r10.3.1 监控数据采样356/ l+ B4 D: P _9 K
10.3.2 根据采样计算统计指标357
8 U" c& e4 ^9 h; D! h6 A10.4 如何采集监控指标359: m9 w& G; @# c- x% n0 K `$ f( ^: c
10.5 监控实战应用360 z& _' G1 ~; j/ s8 M, u8 k4 |; y6 g
10.6 本章小结365第11章 RocketMQ实战366- X8 }7 Z2 X" Y' [, H( O: G
11.1 消息批量发送3665 w; C. X2 o; D% h1 _' r) d. [
11.2 消息发送队列自选择367
5 P# D! D; z3 _5 y8 A+ _! q) c$ k11.3 消息过滤368
# ]6 z3 ~ I9 h' V) a11.3.1 TAG过滤模式3687 a6 f+ l' k; W. \: L6 _. R' B
11.3.2 SQL过滤模式368
& C" c% \) g( \: c3 h7 ]. z* v11.3.3 类过滤模式369$ z# j3 s/ R2 ^
11.4 事务消息3710 u9 f$ l* O6 Z1 P
11.5 Spring整合RocketMQ375
7 F5 f4 D9 G# N& v+ e* o! x7 s2 W$ S11.6 Spring Cloud整合RocketMQ376
( v# ]+ h5 D* I; i3 {! N! r5 T1 {. K11.7 RocketMQ监控与运维命令384
$ r+ T( ` d* ]1 h11.7.1 搭建RocketMQ监控平台rocketmq-console384
# C1 M0 l7 f# r* j# N" r11.7.2 RocketMQ管理命令387/ \. [( h4 e+ N: @$ p7 [
11.8 应用场景分析423) f/ A! c% }7 ~5 a
11.9 实战案例424
6 A( j/ ?. w+ {- R2 v6 `- d( z11.9.1 RocketMQ集群线上故障缩容实战案例424
0 j# s4 d+ P" c( Y2 p- ?11.9.2 RocketMQ在线扩容实战427
! o: E, ]; O9 f/ Y3 G$ B. n11.10 本章小结430
" U6 H( s4 v& Y+ ]: O5 K! d附录 A 参数说明4318 A, U+ E" k3 S* @
附录B RocketMQ各版本概述与升级建议4361 `9 A+ v$ e' N u( z
百度云盘下载地址(完全免费-绝无套路):
6 N8 J' b7 u7 g% P- g3 `. J |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|