推薦序
前言
第1章 閱讀源代碼前的準備 1
1.1 獲取和調試RocketMQ的源代碼 1
1.1.1 Eclipse獲取RocketMQ源碼 2
1.1.2 Eclipse調試RocketMQ源碼 9
1.1.3 IntelliJ IDEA獲取RocketMQ源碼 15
1.1.4 IntelliJ IDEA調試RocketMQ源碼 20
1.2 RocketMQ源代碼的目錄結構 27
1.3 RocketMQ的設計理念和目標 28
1.3.1 設計理念 28
1.3.2 設計目標 28
第2章 RocketMQ路由中心NameServer 31
2.1 NameServer架構設計 31
2.2 NameServer啓動流程 32
2.3 NameServer路由注冊、故障剔除 36
2.3.1 路由元信息 36
2.3.2 路由注冊 38
2.3.3 路由刪除 43
2.3.4 路由發現 46
2.4 本章小結 47
第3章 RocketMQ消息發送 49
3.1 漫談RocketMQ消息發送 49
3.2 認識RocketMQ消息 50
3.3 生産者啓動流程 51
3.3.1 初識DefaultMQProducer消息發送者 51
3.3.2 消息生産者啓動流程 54
3.4 消息發送基本流程 56
3.4.1 消息長度驗證 56
3.4.2 查找主題路由信息 56
3.4.3 選擇消息隊列 60
3.4.4 消息發送 65
3.5 批量消息發送 71
3.6 本章小結 74
第4章 RocketMQ消息存儲 75
4.1 存儲概要設計 75
4.2 初識消息存儲 76
4.3 消息發送存儲流程 78
4.4 存儲文件組織與內存映射 83
4.4.1 MappedFileQueue映射文件隊列 84
4.4.2 MappedFile內存映射文件 87
4.4.3 TransientStorePool 93
4.5 RocketMQ存儲文件 94
4.5.1 Commitlog文件 95
4.5.2 ConsumeQueue文件 97
4.5.3 Index索引文件 100
4.5.4 checkpoint文件 104
4.6 實時更新消息消費隊列與索引文件 105
4.6.1 根據消息更新ConumeQueue 107
4.6.2 根據消息更新Index索引文件 108
4.7 消息隊列與索引文件恢復 109
4.7.1 Broker正常停止文件恢復 112
4.7.2 Broker異常停止文件恢復 114
4.8 文件刷盤機製 115
4.8.1 Broker同步刷盤 116
4.8.2 Broker異步刷盤 119
4.9 過期文件刪除機製 122
4.10 本章小結 126
第5章 RocketMQ消息消費 127
5.1 RocketMQ消息消費概述 127
5.2 消息消費者初探 128
5.3 消費者啓動流程 130
5.4 消息拉取 133
5.4.1 PullMessageService實現機製 133
5.4.2 ProcessQueue實現機製 136
5.4.3 消息拉取基本流程 138
5.5 消息隊列負載與重新分布機製 154
5.6 消息消費過程 162
5.6.1 消息消費 163
5.6.2 消息確認(ACK) 167
5.6.3 消費進度管理 171
5.7 定時消息機製 176
5.7.1 load方法 177
5.7.2 start方法 178
5.7.3 定時調度邏輯 179
5.8 消息過濾機製 181
5.9 順序消息 186
5.9.1 消息隊列負載 187
5.9.2 消息拉取 187
5.9.3 消息消費 188
5.9.4 消息隊列鎖實現 195
5.10 本章小結 196
第6章 消息過濾FilterServer 198
6.1 ClassFilter運行機製 198
6.2 FilterServer注冊剖析 199
6.3 類過濾模式訂閱機製 202
6.4 消息拉取 205
6.5 本章小結 206
第7章 RocketMQ主從同步(HA)機製 207
7.1 RocketMQ主從復製原理 207
7.1.1 HAService整體工作機製 208
7.1.2 AcceptSocketService實現原理 208
7.1.3 GroupTransferService實現原理 210
7.1.4 HAClient實現原理 211
7.1.5 HAConnection實現原理 214
7.2 RocketMQ讀寫分離機製 220
7.3 本章小結 223
第8章 RocketMQ事務消息 225
8.1 事務消息實現思想 225
8.2 事務消息發送流程 226
8.3 提交或迴滾事務 232
8.4 事務消息迴查事務狀態 233
8.5 本章小結 240
第9章 RocketMQ實戰 242
9.1 消息批量發送 242
9.2 消息發送隊列自選擇 243
9.3 消息過濾 243
9.3.1 TAG模式過濾 244
9.3.2 SQL錶達模式過濾 244
9.3.3 類過濾模式 245
9.4 事務消息 247
9.5 Spring整閤RocketMQ 250
9.6 Spring Cloud整閤RocketMQ 251
9.7 RocketMQ監控與運維命令 258
9.7.1 RocktetMQ監控平颱搭建 258
9.7.2 RocketMQ管理命令 261
9.8 應用場景分析 280
9.9 本章小結 281
附錄A 參數說明 282
· · · · · · (
收起)