|
Java电子书:RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
. M# U8 j6 W' k1 n* q
& R) G" i! L5 h4 I7 w$ i& O) s9 X" K( e5 \
编号:mudaima-P0202【Java吧 java8.com】+ J/ K* M. H6 G/ H2 n8 d2 ^
% Q) \$ ~1 h. l8 P3 t% t6 h0 Y( D, l9 @( y6 r$ z0 s1 g" a6 U
6 U8 `, ? t( d" b3 ]1 j. m$ ^/ y0 xJava电子书目录:第1章 阅读源码前的准备1
1 k' b: b- K( h. a2 o9 b7 x) k" N1.1 获取和调试RocketMQ的源码1; k% D% y* n/ T/ j: F
1.1.1 Eclipse获取RocketMQ源码1
' t$ [5 x _; l: r1 n* R1.1.2 Eclipse调试RocketMQ源码8
A7 A3 k8 \ w' T* o6 B1.1.3 IntelliJ IDEA获取RocketMQ源码14
: B3 ]. f- B; n% ? P7 H1.1.4 IntelliJ IDEA调试RocketMQ源码16
1 d$ C7 O$ q, P% N1.2 RocketMQ源码的目录结构23
+ `6 A2 P1 P+ i5 r/ a1 d* A+ e8 X1.3 RocketMQ的设计理念和设计目标23+ U5 z& O# T8 n
1.3.1 设计理念23
# D8 c6 {: ]# B/ G1.3.2 设计目标24
$ G6 x& L$ Q; Q0 j1.4 本章小结26第2章 RocketMQ路由中心NameServer27$ U9 h: O$ W, e; Y9 _/ c9 f* ~5 O4 r
2.1 NameServer架构设计27
; U* N7 n' v& L2.2 NameServer启动流程29
( L( M9 x5 \% N c$ O+ o2.3 NameServer路由注册、故障剔除32* C/ k6 T$ G k$ q n i
2.3.1 路由元信息324 i: m% z9 [9 }8 Z3 `& r
2.3.2 路由注册35
j# J+ _; {. Q4 V2.3.3 路由删除405 X2 L% I- V) i! m: F* b6 v7 ]
2.3.4 路由发现43
3 D: H9 b9 L8 _. ]" v# ]2.4 本章小结44第3章 RocketMQ消息发送46
4 x. s9 k0 h! w, ?$ [3.1 漫谈RocketMQ消息发送46
( s( r, l; }4 f6 k5 {$ `3.1.1 topic路由机制47
: `$ B6 \; u' ?( M( ]3.1.2 消息发送高可用设计48: k- S( T2 h% \
3.2 认识RocketMQ消息50. p7 ~% b0 u3 \0 m
3.3 生产者启动流程51! v2 U2 w* t: O# b T3 Y$ `
3.3.1 初识DefaultMQProducer513 Z+ {& U u+ J, E. ~ h
3.3.2 消息生产者启动流程54
. y! l5 }4 H f C& h! K4 D3.4 消息发送基本流程55% |( S* |2 G. |& Z
3.4.1 消息长度验证56 h8 @+ [' D$ u* p# G
3.4.2 查找主题路由信息57
1 g8 r* `* Y) I( `6 J3.4.3 选择消息队列60% d& n6 N! p" v( B$ F# w
3.4.4 消息发送65) G: L7 B" L+ q9 U& N4 l
3.5 批量消息发送72
4 a/ s# h, ~1 ]6 ? v) _0 X3.6 本章小结74第4章 RocketMQ消息存储757 f6 j/ m$ {2 {+ R4 T! f
4.1 存储概要设计75
/ ^7 m& x( w- X. S7 D4.1.1 RocketMQ存储文件的组织方式76; e$ E, }! h. u3 {% F2 v' T' g
4.1.2 内存映射80$ j' J6 y9 x4 _$ F$ ]0 v0 z
4.1.3 灵活多变的刷盘策略81
3 g( @3 _ g) C2 b6 \4.1.4 transientStorePoolEnable机制82
# s4 |9 h/ S7 c6 T" K. O4.1.5 文件恢复机制827 e% p" ]3 n% s8 W3 W0 _
4.2 初识消息存储832 i5 B; V$ t2 [5 {
4.3 消息发送存储流程84+ _2 Z8 M+ q* _9 x. q
4.4 存储文件组织与内存映射90' F: m! X: ?& e
4.4.1 MappedFileQueue映射文件队列 90' o# p$ O# p( w% V7 i- p) ?( Q
4.4.2 MappedFile内存映射文件923 p* j% J+ n) t) \' U7 w
4.4.3 TransientStorePool99
; D/ t2 W: ^( L, h# x4.5 RocketMQ存储文件100
% V0 f7 i1 P" H5 p- U. K4.5.1 CommitLog文件101" ]9 B) V% @6 ^% `/ q3 R& v5 c; J
4.5.2 ConsumeQueue文件1029 e% q, r% K' S/ E& D
4.5.3 Index文件106
& g; R" A% S9 B5 S! i4.5.4 checkpoint文件1105 z. u& F! S+ D* ~3 X& `5 ?4 b
4.6 实时更新ConsumeQueue与Index文件111
' |. C" S& x0 m# w4.6.1 根据消息更新ConsumeQueue文件113- x7 i$ X* l( \: D# |( }0 z, d
4.6.2 根据消息更新Index文件114
! F R+ s- B ]# I- W9 D% F4.7 ConsumeQueue与Index文件恢复115
5 O* V, V+ _8 y4.7.1 Broker正常停止文件恢复118
4 b# ^0 |7 C4 y i+ }4.7.2 Broker异常停止文件恢复120, B0 r! k. ~6 N# h0 N9 w
4.8 文件刷盘机制121
9 F1 Q' p4 q9 I1 J0 n7 s4.8.1 Broker同步刷盘122/ p6 b3 ~5 Q. B8 V
4.8.2 Broker异步刷盘1258 m) X: ]- H1 H9 O) i
4.9 过期文件删除机制128
2 U: x3 }5 R8 }! R( E3 I% h4.10 同步双写132
7 q9 `# i. b2 K: \& e7 u7 h7 X5 l* o. w4.11 本章小结136第5章 RocketMQ消息消费137
" _% F4 _4 i6 ~$ W# S' k5.1 RocketMQ消息消费概述1379 r& ]0 {/ ] q1 n5 h8 T; B
5.1.1 消费队列负载机制与重平衡138; y* W- B/ ?2 ^7 I
5.1.2 并发消费模型139/ \4 g$ e3 E1 w n7 I. T' q' n
5.1.3 消息消费进度反馈机制139
. M* C* F6 U; r9 y# z5.2 消息消费者初探1415 @; y# J) ~6 G
5.3 消费者启动流程143; v0 U' H$ U0 ?) {
5.4 消息拉取146
4 @" I( c1 o4 H5.4.1 PullMessageService实现机制147 I7 G0 r/ H+ {' t/ }. Y
5.4.2 ProcessQueue实现机制149
) A+ w9 p& l" B) l# @5.4.3 消息拉取基本流程1501 d/ l( H: L; J D; E$ ~/ W
5.5 消息队列负载与重新分布机制167) W( g8 B' ^/ T9 w
5.6 消息消费过程1759 S2 S6 i+ u, l; C
5.6.1 消息消费1765 ]- e& E: M4 X h( K# J
5.6.2 消息确认180" f1 l3 s9 q- K" C
5.6.3 消费进度管理184# C) P- h% f6 d9 T7 S& Y4 O" m5 z, X
5.7 定时消息机制189) G2 `8 I. p" A' z
5.7.1 load()方法190
8 I3 M" e5 J% o5 l5.7.2 start()方法190
0 A" N3 R9 z6 ^5 r9 ?- M' ~5.7.3 定时调度逻辑192
% E- C5 y( \. s M" M; x1 p0 {5.8 消息过滤机制194; J/ j# _% S" p3 P& d
5.9 顺序消息199
( B+ v- x* h3 ~* T5.9.1 消息队列负载199% k* J' T, X2 y# v% D) N
5.9.2 消息拉取200! h: `2 K' _( h3 z; h2 c
5.9.3 消息消费201
/ k, |7 h5 x( P o' U: H% z5.9.4 消息队列锁实现208! b, k5 Y1 J7 s% {8 ?. Y' w( v
5.10 本章小结209第6章 RocketMQ的ACL210
' w9 u- c: {2 Q6.1 什么是ACL210% K) S* D# @4 c0 Z. P- O4 r/ w
6.2 如何使用ACL211
4 U8 }2 e" N8 k4 G' C6.2.1 Broker端开启ACL2113 r9 g: @# V0 ?' S' c
6.2.2 客户端使用ACL212
6 S1 s7 \' C0 M: f9 O6.3 ACL实现原理214( G0 |/ A6 `; v& A/ \$ r
6.3.1 Broker端ACL核心入口214
, Q( f8 H' U, F6.3.2 PlainAccessValidator详解216
* H( O# V1 S; u; b% A+ O6.3.3 PlainPermissionManager详解2206 M+ b, T5 B! r
6.3.4 AclClientRPCHook详解228- P: C5 s# Q* T( n& o1 O
6.4 本章小结231第7章 RocketMQ主从同步机制232
! Z0 T, u& ^6 f2 a# {0 r7.1 RocketMQ主从同步原理232
$ v2 m; L+ ?) X. _7.1.1 HAService整体工作机制2333 ~1 e& ?0 R1 {' i
7.1.2 AcceptSocketService实现原理233
# u. C5 g) ?$ V7.1.3 GroupTransferService实现原理235 o% V7 q7 p/ j9 H4 G
7.1.4 HAClient实现原理236& d; s1 W/ ]/ Q+ U
7.1.5 HAConnection实现原理239
. N) g/ ^# O2 Z, Z1 T7.2 RocketMQ读写分离机制245
0 N" m, x# e& }; U- q8 M. C% m7.3 RocketMQ元数据同步2484 }2 K4 }' s# m" G7 V7 \6 d
7.3.1 从节点主动同步元数据249
* \* C$ m* y! W/ P& L, e' J7.3.2 主节点消息拉取主动同步消费进度250& |' h: e( L# ^7 B8 u
7.4 本章小结251第8章 RocketMQ消息轨迹252
6 k$ E' K' ~. v, k. {: y. S8.1 消息轨迹的引入目的和使用方法2523 I4 M% f5 {( ]7 n: j& [1 U+ R
8.2 消息轨迹设计原理255
- p9 O% [3 N3 {& |8.2.1 消息轨迹数据格式255! P4 `% e! B* a# H* _( A& I4 c& d
8.2.2 如何采集轨迹数据256
8 e( u' L ]7 B+ d/ z l8.2.3 如何存储消息轨迹数据257% C1 [0 x' ]5 j
8.3 消息轨迹实现原理257
- J, ^" c* P$ Z: ^0 g w8.3.1 寻找消息轨迹入口257 m% D) R+ g. i5 J5 g' }8 Q
8.3.2 消息发送轨迹数据2590 s7 k2 [; _. H# A% K! n
8.3.3 消息轨迹异步转发实现机制261( F& |! z4 f) c9 @* h) R
8.4 本章小结265第9章 RocketMQ主从切换266
/ ~) }3 h V: ^3 N% d2 x( C3 x9.1 主从切换引入目的266% N/ c+ i) B; X; d- T$ B
9.2 Raft协议简介267 D# u8 o# x& S2 }: J# i. A
9.2.1 Leader选举267
/ S* I; D" r; ~! n D. Q9.2.2 日志复制268
; h) | w) W) N9.3 RocketMQ DLedger主从切换之Leader选主269
% ]! a5 R/ ?9 s( z e9.3.1 DLedgerLeaderElector核心类及核心属性270
, A! l* l% K# V5 D9.3.2 选举状态管理器初始化271
0 ]' Y2 d% c" C0 R" Y8 ?! s9.3.3 选举状态机状态流转273
& B* v, ?0 r. }) X" _* ^! u9.3.4 发送投票请求与处理投票请求280
, w s2 ^& M* }9.3.5 发送心跳包与处理心跳包283
" f% V1 R7 _; O9.4 RocketMQ DLedger主从切换之存储实现288* p1 A: S. W2 Z7 Y, G4 g& l z& J, Z
9.4.1 RocketMQ DLedger核心类及核心属性288# P& V( ^) R5 `6 Z/ F$ u: V9 p
9.4.2 RocketMQ DLedger数据存储协议2904 i, `0 N/ u/ s2 u& j2 a
9.4.3 RocketMQ DLedger索引存储协议291
- e$ l+ x" A( o5 `" M9.5 RocketMQ DLedger主从切换之日志追加291! ?& o7 `3 v* U" h. q' [, Y0 p! t
9.5.1 日志追加流程概述291" m4 ?! m2 |. D* v1 F
9.5.2 判断Push队列是否已满293
+ {# ]2 D9 N, g7 s( [; A9.5.3 Leader节点日志存储293# q+ S& C5 _. ], T$ R# R2 w
9.5.4 Leader节点等待从节点日志复制响应ACK2983 s2 v5 \& f4 p6 K: R
9.6 RocketMQ DLedger主从切换之日志复制299
# G* D/ X0 j% t& ~6 E9.6.1 日志复制设计理念3007 I! z5 X1 g& n' h; r
9.6.2 日志复制类设计体系301- N& Q* I* `: z4 W3 l0 M, ~
9.6.3 日志转发303/ g' f( x" Y7 N y1 r0 Z
9.7 RocketMQ整合DLedger设计技巧与实现原理3266 W3 d8 M3 B% s( O
9.7.1 数据存储兼容设计327
, Z: O ^; ~& R' j/ a+ h* W$ \) s9.7.2 数据存储兼容实现原理3282 v) T" e6 q0 ]8 f
9.7.3 主从切换元数据同步机制337+ D, ^9 _# Y# N0 R$ w/ ?
9.8 RocketMQ主从切换实战344
, A* p6 i/ B+ ?- r) Z' |9.8.1 主从切换核心配置属性3440 |% g* r; a8 W$ ]% ]
9.8.2 搭建主从同步环境344
d6 F9 T" l7 z2 m6 u, v+ k9.8.3 主从同步集群升级到主从切换346
0 V/ o. L" C# J& Y7 E9.9 本章小结350第10章 RocketMQ监控352' h h% P( E" M Y
10.1 设计理念352
9 M% d$ R( U. x6 @) l4 X! G! w10.2 实现原理353( A$ |. W& q! U& b
10.2.1 监控相关类图353
8 g: J/ X. o3 P+ {8 ?" g10.2.2 监控原始数据采集流程355
f! s: O6 K4 J% O) F10.3 监控数据采样机制356
" e9 Y9 b0 H1 c+ ?" O1 V10.3.1 监控数据采样356
/ F* ~% R+ ?; o& r/ s' o7 m9 J& L& e10.3.2 根据采样计算统计指标357
) l+ M7 n) N$ @7 k10.4 如何采集监控指标3590 ^- v4 Q+ G- y+ }+ Q- c& F0 ~
10.5 监控实战应用360" M0 k2 ^( Q# E2 c( t
10.6 本章小结365第11章 RocketMQ实战366! L$ l& B* x2 k- n: m
11.1 消息批量发送3667 _* V; ?1 \3 r& K6 e+ K6 `
11.2 消息发送队列自选择367: q$ x- V' O# v% M; R9 ~
11.3 消息过滤368: u0 h# l, c" F0 U* }# K
11.3.1 TAG过滤模式368
' _( Y& s0 j7 X" w0 f11.3.2 SQL过滤模式368
; d; w4 c: A" H$ W6 _) }3 J11.3.3 类过滤模式369
# ?, Z3 y2 h) z! F11.4 事务消息371% m& _6 u7 p7 l$ T7 ]7 Q- d l
11.5 Spring整合RocketMQ375" K. O. q9 a$ I; t: A, |: u
11.6 Spring Cloud整合RocketMQ376
6 Z9 E# C$ t$ L1 }) [8 _& G11.7 RocketMQ监控与运维命令384, a8 f; Z7 ?" A) K& O
11.7.1 搭建RocketMQ监控平台rocketmq-console3849 R" U& `1 E& w) J3 |0 t+ p
11.7.2 RocketMQ管理命令387, s' w# @3 Q7 T* ]7 a2 |$ q
11.8 应用场景分析423
& ~/ z" e' e- h( f11.9 实战案例4249 b5 m0 e- K1 O5 h7 Y- J- F
11.9.1 RocketMQ集群线上故障缩容实战案例424
1 _ C L7 A$ X5 r0 x8 q11.9.2 RocketMQ在线扩容实战427
) \/ S7 }7 c, V. z11.10 本章小结430
. U2 s& Z# Y8 W' B, i- P! ~+ Q附录 A 参数说明431
2 Q, M# L1 f# c, w) O附录B RocketMQ各版本概述与升级建议436
3 n8 S1 G% K* H6 m% k: y6 r f百度云盘下载地址(完全免费-绝无套路):
; L7 C& ~: X) m5 i9 F1 z) ` |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|