|
Java电子书:RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
5 f$ d* `2 [( ]6 w4 K+ e
. ^9 X" [$ Z! Q9 X( k7 m+ q+ D0 V$ e" A, c- Q) v
编号:mudaima-P0202【Java吧 java8.com】
$ ]8 k7 @0 v6 `: U8 \ y" D
+ k1 Q- B# b! ~9 w0 U5 B8 H3 q/ K2 f: H5 B9 a8 x) @$ D, v7 Q
5 ~0 L/ j, @/ {0 T
Java电子书目录:第1章 阅读源码前的准备1+ X* p) ]2 r$ ^+ l/ x
1.1 获取和调试RocketMQ的源码1( n8 ~: I- |* J$ g" Z7 o5 e3 W
1.1.1 Eclipse获取RocketMQ源码17 ^' d9 _( l. L1 o
1.1.2 Eclipse调试RocketMQ源码8
$ _" |/ l5 L6 {9 z1.1.3 IntelliJ IDEA获取RocketMQ源码14
! d: J& Z) [4 {7 m3 X4 B1.1.4 IntelliJ IDEA调试RocketMQ源码16
& M7 M2 \2 E& ]0 ^ V% x1.2 RocketMQ源码的目录结构23
5 U- u2 U* c0 ~9 I1.3 RocketMQ的设计理念和设计目标237 W6 z! {" ?# h5 f7 M
1.3.1 设计理念230 X. C% d3 G9 o- @9 |8 p
1.3.2 设计目标24
: g! V8 v$ ~1 c D# h" D+ g1.4 本章小结26第2章 RocketMQ路由中心NameServer276 _" G" E$ [0 d* M' _! |
2.1 NameServer架构设计275 M A' i1 ]$ h
2.2 NameServer启动流程29
" T) J8 h" l- U9 ^+ G) F2.3 NameServer路由注册、故障剔除32/ E* F8 ?1 d% O/ g7 S; _4 Q" V! G: t
2.3.1 路由元信息32
& W2 s# j' l. @" V# p2.3.2 路由注册355 V" V; V( z$ `4 l
2.3.3 路由删除40
% g$ o# ?( h. y2.3.4 路由发现43" B9 }9 R1 F, N( N; o& s
2.4 本章小结44第3章 RocketMQ消息发送46
$ y# m% r7 b" e" V! o, J3.1 漫谈RocketMQ消息发送46 s$ m5 S8 p, t4 W, E
3.1.1 topic路由机制47
% A; s/ f( E0 B9 O; V3.1.2 消息发送高可用设计486 F5 X: j, d6 p! ]/ o: L% o' a4 V
3.2 认识RocketMQ消息50
7 E: }5 K. V8 R/ s W3.3 生产者启动流程51
s; z- \7 P$ D9 S3.3.1 初识DefaultMQProducer51
9 J1 u: u% ]+ o0 W0 `+ e. l, f3.3.2 消息生产者启动流程54) a" v4 e. a, b% a( y+ L8 p- e; q- j
3.4 消息发送基本流程55
1 t& n) D$ c9 V2 V/ ^7 i+ r' N' T( ?3.4.1 消息长度验证563 _. V* J( e; S( q5 S2 |
3.4.2 查找主题路由信息575 r; A$ i, t0 r6 F7 n' Y
3.4.3 选择消息队列60
" Y9 ~8 b. d) w C+ d3.4.4 消息发送65: J- N* X% J, M; p3 E
3.5 批量消息发送72
3 w! B2 g8 N |8 t" y9 C& G3.6 本章小结74第4章 RocketMQ消息存储75
3 H" h! {* T1 w. w( O0 e# V% M4.1 存储概要设计757 d( U' _# r( q# x
4.1.1 RocketMQ存储文件的组织方式76
8 U7 Z, @. |1 E1 ]$ I4.1.2 内存映射807 C, ^, Z! p- L4 g! P
4.1.3 灵活多变的刷盘策略81 I& q& Y( S; ~5 J
4.1.4 transientStorePoolEnable机制824 [' n& z2 z K
4.1.5 文件恢复机制828 ^( |; g( O: y# F% n
4.2 初识消息存储83
1 B( ~7 \( M2 f9 E5 t6 \% x% d4.3 消息发送存储流程84
8 j7 Z) G+ K% c8 T0 |8 D4.4 存储文件组织与内存映射90% a1 V6 T4 o* W7 v4 P
4.4.1 MappedFileQueue映射文件队列 90
: y* l' |' t' M& C9 f* s4.4.2 MappedFile内存映射文件927 i, g* ~" w5 ?- B+ w* s: E3 g
4.4.3 TransientStorePool991 d. N" m0 u9 e0 p1 y
4.5 RocketMQ存储文件1002 v+ o2 ~$ Y8 R3 X
4.5.1 CommitLog文件101
, d. _. k2 J! p d! ?2 d5 @ p) t( ~4.5.2 ConsumeQueue文件102
0 ]& @8 a& o% f, u, q, U/ O4.5.3 Index文件106
O4 g0 I# R" Z/ }$ d/ k# E# ?4.5.4 checkpoint文件1106 ]9 x0 T. w2 w# K# R7 [. o) _
4.6 实时更新ConsumeQueue与Index文件111
, v: c! r+ ], X7 o3 P4.6.1 根据消息更新ConsumeQueue文件1136 g5 O4 w- t) Q$ f- f/ S; i* |6 M
4.6.2 根据消息更新Index文件114
8 {7 h1 u# c# i: R1 c" \ K4.7 ConsumeQueue与Index文件恢复115+ x0 ~7 L1 {9 `' ` @
4.7.1 Broker正常停止文件恢复118; X+ S; Z$ I( b; R' P
4.7.2 Broker异常停止文件恢复1205 }/ `8 |1 C# y$ n' g# b% F6 b
4.8 文件刷盘机制121. ?; y3 H' C- g/ J1 o( q% E0 S4 Q
4.8.1 Broker同步刷盘122. M: u" U4 B9 [7 d
4.8.2 Broker异步刷盘125
/ v# n8 }. Q; C0 v8 p0 B. P6 q4.9 过期文件删除机制128
" N4 o# @: ]4 J/ f. \5 A4.10 同步双写132
8 G* A+ {2 z: ]! y% O4.11 本章小结136第5章 RocketMQ消息消费1372 b$ `' l0 r Q. L& Q* F
5.1 RocketMQ消息消费概述137
: H( x2 Y7 W! v% h5.1.1 消费队列负载机制与重平衡1388 S0 e" w3 X! l x' ^" c) g$ f
5.1.2 并发消费模型139
5 w$ F% g# m* e; U6 g W$ T; [5.1.3 消息消费进度反馈机制1396 o) ]8 `+ [: m8 F8 ?( W# d" s
5.2 消息消费者初探1411 x0 }" ?. [7 P( R7 H) W
5.3 消费者启动流程143+ R3 C5 f5 b' a8 Z4 p$ B
5.4 消息拉取146
* t9 g0 {# c- @. M2 a5 ?( S/ L! S- H5.4.1 PullMessageService实现机制1476 b: `% @+ V7 p0 W
5.4.2 ProcessQueue实现机制149
8 [/ [# a! ~0 |9 {5.4.3 消息拉取基本流程150: r% E1 O5 c4 i
5.5 消息队列负载与重新分布机制1677 m# L, Q% `2 H; Q. i3 c
5.6 消息消费过程175
! n2 y0 X, M q2 W% M& i% `5.6.1 消息消费1765 p. C5 \- Y8 ~, R0 v2 o( Z
5.6.2 消息确认180% ]& J1 f/ s: m F% ~4 R: R' J" a
5.6.3 消费进度管理184
3 z; P* y5 }' q7 b0 E: }5 Y5.7 定时消息机制189
$ P. Q# \; g+ Y+ ~5.7.1 load()方法190
% E$ @6 P. y5 m. R5.7.2 start()方法190
' ]- {7 r$ f9 L9 H1 r1 s3 m: T5.7.3 定时调度逻辑192
1 a8 f& J! N+ e' f6 t4 l2 Y# Z1 J* V2 p5.8 消息过滤机制194
; `5 s1 w# m2 U4 z5.9 顺序消息1997 L& B* S% N& b! G! \# q
5.9.1 消息队列负载199
6 p+ \) u/ g* I5.9.2 消息拉取200' f( {2 ~& O9 o( |
5.9.3 消息消费201
; ?2 _ a: |/ `2 a2 \5.9.4 消息队列锁实现208
, r: N+ I0 ^8 V5.10 本章小结209第6章 RocketMQ的ACL210
+ |1 F+ a, T |% e. C6 F6.1 什么是ACL210! e3 J( c9 }* F: S
6.2 如何使用ACL211; o0 Z$ K# B, _. C# g
6.2.1 Broker端开启ACL2116 Y) H, v1 z4 K% ]( a
6.2.2 客户端使用ACL212
; p* I& M( v) e' c6.3 ACL实现原理214% ^) N j+ O1 ^8 F5 J
6.3.1 Broker端ACL核心入口214
0 u( I' t4 W( x) b% q( C6.3.2 PlainAccessValidator详解216
0 z$ L2 V; _% d; N# ~# P6.3.3 PlainPermissionManager详解220
" x4 Z @* _' ]8 e- j2 [4 H6.3.4 AclClientRPCHook详解228
' E5 h1 F& _ ~0 {6.4 本章小结231第7章 RocketMQ主从同步机制232
3 d0 Z8 G/ u/ P9 Z$ e7 K8 d7.1 RocketMQ主从同步原理232" s4 q; Y5 Q( {! D4 G z
7.1.1 HAService整体工作机制233. A1 I7 R5 U$ d5 f2 \& z
7.1.2 AcceptSocketService实现原理2333 P; z# f2 p% O O2 r8 F F
7.1.3 GroupTransferService实现原理235
1 C9 Z9 U: S. B( p' U; F5 Z7.1.4 HAClient实现原理236
0 G& q9 l# F3 {8 B- P7.1.5 HAConnection实现原理239) E5 f/ r& p' j3 R9 `+ a" n( g2 W
7.2 RocketMQ读写分离机制245
: M8 h( [# u/ A7.3 RocketMQ元数据同步248
" a' v c& J* I! \% E7.3.1 从节点主动同步元数据249
: C) b3 D; T2 u; P: L7.3.2 主节点消息拉取主动同步消费进度250, a7 c/ e7 C. t. k9 r6 V; {$ s
7.4 本章小结251第8章 RocketMQ消息轨迹2520 t; R; e9 H- i, C
8.1 消息轨迹的引入目的和使用方法252) o7 r1 f- I7 U0 `9 g, | h
8.2 消息轨迹设计原理255
6 ~0 n9 d. ]- h7 ~/ ]8.2.1 消息轨迹数据格式255
7 n0 n. G( A- L5 E8.2.2 如何采集轨迹数据256! i9 r0 K+ M. E( @- _* l8 G& n
8.2.3 如何存储消息轨迹数据257
4 e: R' U x3 _. [# r- H% Z9 K3 s8.3 消息轨迹实现原理257+ }' L! J! x- \; m5 F1 ]
8.3.1 寻找消息轨迹入口2578 c+ h3 c. K# I+ \& ^* P4 d
8.3.2 消息发送轨迹数据259
( F4 N: z/ q6 Q8.3.3 消息轨迹异步转发实现机制261, [' P b" e+ m6 z7 s
8.4 本章小结265第9章 RocketMQ主从切换266
, ~0 T: R" o3 X, M1 v! ^0 Y9.1 主从切换引入目的2662 A' ?) G7 k! y
9.2 Raft协议简介267; l5 [: }0 u* b% p
9.2.1 Leader选举267
) N1 o! l/ o( M& i9.2.2 日志复制268
& `8 k8 d& V8 @9.3 RocketMQ DLedger主从切换之Leader选主269
9 X& m$ B$ Q C i1 j2 @0 q9.3.1 DLedgerLeaderElector核心类及核心属性270; d/ V# g; K6 c
9.3.2 选举状态管理器初始化271
% h! r& v9 z9 l+ n: L5 H( E, g. ^9.3.3 选举状态机状态流转273! D s0 c* x; ], F, Z5 M4 P' J$ ~8 O
9.3.4 发送投票请求与处理投票请求280
2 D- ? t2 W' S" O- r, K9.3.5 发送心跳包与处理心跳包283
! D+ ^( D+ Y1 d2 m _9.4 RocketMQ DLedger主从切换之存储实现288# S1 Q7 N1 z# V
9.4.1 RocketMQ DLedger核心类及核心属性288) i) Y/ `4 F! H4 R5 r
9.4.2 RocketMQ DLedger数据存储协议290
' D! o3 L* y1 j% r2 X9.4.3 RocketMQ DLedger索引存储协议2918 F8 |# Z. f: O9 b
9.5 RocketMQ DLedger主从切换之日志追加291
9 I! A9 y) Z, v/ h6 S: u% C& o9.5.1 日志追加流程概述291- a; `, G+ v& D' B9 H
9.5.2 判断Push队列是否已满2939 j( i- ?* N& J7 ?
9.5.3 Leader节点日志存储293
! o. ~6 k$ h( R- z: @- j( C$ _% [ @9.5.4 Leader节点等待从节点日志复制响应ACK298
% m. ~: a3 R9 H8 Y7 e8 ]9.6 RocketMQ DLedger主从切换之日志复制299
3 L7 G" W2 G; `5 h5 \9.6.1 日志复制设计理念3004 y5 S% R, T& H
9.6.2 日志复制类设计体系301
, T1 X: E% ? ~$ K9 S9.6.3 日志转发303* z0 v* z( I# w0 k6 @+ _
9.7 RocketMQ整合DLedger设计技巧与实现原理326/ q8 l# o" L! r/ P' b, z
9.7.1 数据存储兼容设计327
' h* h+ X4 ]$ K2 B1 \. p8 b% x9.7.2 数据存储兼容实现原理328
8 o* L4 s3 J. v: A# |5 x9.7.3 主从切换元数据同步机制337
2 B0 i( h& w A# _" s1 }9.8 RocketMQ主从切换实战3440 T6 T9 ?4 `& F9 ^
9.8.1 主从切换核心配置属性344
( I A: ?4 {* x ^: E0 e$ e9.8.2 搭建主从同步环境344
- s; F, C8 t' p8 `' c9.8.3 主从同步集群升级到主从切换3460 h. x: \& ?5 d9 D( g, ?
9.9 本章小结350第10章 RocketMQ监控352( o& h- v; \$ O5 W8 P
10.1 设计理念352
- U) Y% j5 Q) M+ }10.2 实现原理353
; V6 C6 M% m+ q7 D3 l; @10.2.1 监控相关类图3537 c }/ u* l+ U6 K. x, M
10.2.2 监控原始数据采集流程355 [+ w, _! w3 y, ?/ W: L; \
10.3 监控数据采样机制3569 g3 @9 r, ]. a$ W% B# P& t8 s) M
10.3.1 监控数据采样3569 W1 U# j0 H2 K7 F- U- y
10.3.2 根据采样计算统计指标3577 M' D9 Y% k. d; r
10.4 如何采集监控指标3594 c' \$ K* M+ V% b3 g& \4 Q; P
10.5 监控实战应用3605 E% G$ ~* ~& Z8 P. n0 H3 u
10.6 本章小结365第11章 RocketMQ实战366
4 o% I4 {4 N( E' b11.1 消息批量发送366
0 | M% D/ O; u# c2 K( B' V11.2 消息发送队列自选择3670 Y6 h" P" i. J7 G
11.3 消息过滤368
* ^" m- g3 W5 G: {0 f* p T. M11.3.1 TAG过滤模式368
5 b% h8 w' m/ w0 T+ O k11.3.2 SQL过滤模式368$ c' h& S( }# I7 {4 i8 I5 v
11.3.3 类过滤模式369
# k5 I+ Q6 M# Y! l( T3 f0 q" W3 I11.4 事务消息371
5 Y' w7 i; ~0 {0 n5 ?9 s11.5 Spring整合RocketMQ375* J0 z. ^) [5 p+ m8 C5 e. B
11.6 Spring Cloud整合RocketMQ376
5 F3 _" K: r5 r2 e) g; I0 `0 h11.7 RocketMQ监控与运维命令384
) b( c2 d* I S/ [11.7.1 搭建RocketMQ监控平台rocketmq-console384: |! T, o) P; o) {
11.7.2 RocketMQ管理命令387
$ M# I0 K/ {& D! A11.8 应用场景分析423
) ~8 X( q8 A1 K0 `11.9 实战案例424
9 ^! P. c0 @$ F$ Z4 Q7 Z# b2 g. A: r11.9.1 RocketMQ集群线上故障缩容实战案例424
M, T+ J2 W! S, P9 h4 s" ?" {1 {11.9.2 RocketMQ在线扩容实战427
+ H9 _- D3 t7 ^# h9 b11.10 本章小结430
$ j+ ]% _- I/ h* `8 y$ d附录 A 参数说明431* X0 o1 p& g: R) \) A7 U( I6 b
附录B RocketMQ各版本概述与升级建议436, t' C0 ]; r3 `+ }
百度云盘下载地址(完全免费-绝无套路):
1 W/ P$ X2 F$ b) I) u! @+ w# N$ Y |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|