定 價:¥69.00
作 者: | 丁威,周繼鋒 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787111614210 | 出版時間: | 2018-12-01 | 包裝: | |
開本: | 頁數(shù): | 字?jǐn)?shù): |
推薦序
前言
第1章 閱讀源代碼前的準(zhǔn)備 1
1.1 獲取和調(diào)試RocketMQ的源代碼 1
1.1.1 Eclipse獲取RocketMQ源碼 2
1.1.2 Eclipse調(diào)試RocketMQ源碼 9
1.1.3 IntelliJ IDEA獲取RocketMQ源碼 15
1.1.4 IntelliJ IDEA調(diào)試RocketMQ源碼 20
1.2 RocketMQ源代碼的目錄結(jié)構(gòu) 27
1.3 RocketMQ的設(shè)計理念和目標(biāo) 28
1.3.1 設(shè)計理念 28
1.3.2 設(shè)計目標(biāo) 28
第2章 RocketMQ路由中心NameServer 31
2.1 NameServer架構(gòu)設(shè)計 31
2.2 NameServer啟動流程 32
2.3 NameServer路由注冊、故障剔除 36
2.3.1 路由元信息 36
2.3.2 路由注冊 38
2.3.3 路由刪除 43
2.3.4 路由發(fā)現(xiàn) 46
2.4 本章小結(jié) 47
第3章 RocketMQ消息發(fā)送 49
3.1 漫談RocketMQ消息發(fā)送 49
3.2 認(rèn)識RocketMQ消息 50
3.3 生產(chǎn)者啟動流程 51
3.3.1 初識DefaultMQProducer消息發(fā)送者 51
3.3.2 消息生產(chǎn)者啟動流程 54
3.4 消息發(fā)送基本流程 56
3.4.1 消息長度驗證 56
3.4.2 查找主題路由信息 56
3.4.3 選擇消息隊列 60
3.4.4 消息發(fā)送 65
3.5 批量消息發(fā)送 71
3.6 本章小結(jié) 74
第4章 RocketMQ消息存儲 75
4.1 存儲概要設(shè)計 75
4.2 初識消息存儲 76
4.3 消息發(fā)送存儲流程 78
4.4 存儲文件組織與內(nèi)存映射 83
4.4.1 MappedFileQueue映射文件隊列 84
4.4.2 MappedFile內(nèi)存映射文件 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 實時更新消息消費(fèi)隊列與索引文件 105
4.6.1 根據(jù)消息更新ConumeQueue 107
4.6.2 根據(jù)消息更新Index索引文件 108
4.7 消息隊列與索引文件恢復(fù) 109
4.7.1 Broker正常停止文件恢復(fù) 112
4.7.2 Broker異常停止文件恢復(fù) 114
4.8 文件刷盤機(jī)制 115
4.8.1 Broker同步刷盤 116
4.8.2 Broker異步刷盤 119
4.9 過期文件刪除機(jī)制 122
4.10 本章小結(jié) 126
第5章 RocketMQ消息消費(fèi) 127
5.1 RocketMQ消息消費(fèi)概述 127
5.2 消息消費(fèi)者初探 128
5.3 消費(fèi)者啟動流程 130
5.4 消息拉取 133
5.4.1 PullMessageService實現(xiàn)機(jī)制 133
5.4.2 ProcessQueue實現(xiàn)機(jī)制 136
5.4.3 消息拉取基本流程 138
5.5 消息隊列負(fù)載與重新分布機(jī)制 154
5.6 消息消費(fèi)過程 162
5.6.1 消息消費(fèi) 163
5.6.2 消息確認(rèn)(ACK) 167
5.6.3 消費(fèi)進(jìn)度管理 171
5.7 定時消息機(jī)制 176
5.7.1 load方法 177
5.7.2 start方法 178
5.7.3 定時調(diào)度邏輯 179
5.8 消息過濾機(jī)制 181
5.9 順序消息 186
5.9.1 消息隊列負(fù)載 187
5.9.2 消息拉取 187
5.9.3 消息消費(fèi) 188
5.9.4 消息隊列鎖實現(xiàn) 195
5.10 本章小結(jié) 196
第6章 消息過濾FilterServer 198
6.1 ClassFilter運(yùn)行機(jī)制 198
6.2 FilterServer注冊剖析 199
6.3 類過濾模式訂閱機(jī)制 202
6.4 消息拉取 205
6.5 本章小結(jié) 206
第7章 RocketMQ主從同步(HA)機(jī)制 207
7.1 RocketMQ主從復(fù)制原理 207
7.1.1 HAService整體工作機(jī)制 208
7.1.2 AcceptSocketService實現(xiàn)原理 208
7.1.3 GroupTransferService實現(xiàn)原理 210
7.1.4 HAClient實現(xiàn)原理 211
7.1.5 HAConnection實現(xiàn)原理 214
7.2 RocketMQ讀寫分離機(jī)制 220
7.3 本章小結(jié) 223
第8章 RocketMQ事務(wù)消息 225
8.1 事務(wù)消息實現(xiàn)思想 225
8.2 事務(wù)消息發(fā)送流程 226
8.3 提交或回滾事務(wù) 232
8.4 事務(wù)消息回查事務(wù)狀態(tài) 233
8.5 本章小結(jié) 240
第9章 RocketMQ實戰(zhàn) 242
9.1 消息批量發(fā)送 242
9.2 消息發(fā)送隊列自選擇 243
9.3 消息過濾 243
9.3.1 TAG模式過濾 244
9.3.2 SQL表達(dá)模式過濾 244
9.3.3 類過濾模式 245
9.4 事務(wù)消息 247
9.5 Spring整合RocketMQ 250
9.6 Spring Cloud整合RocketMQ 251
9.7 RocketMQ監(jiān)控與運(yùn)維命令 258
9.7.1 RocktetMQ監(jiān)控平臺搭建 258
9.7.2 RocketMQ管理命令 261
9.8 應(yīng)用場景分析 280
9.9 本章小結(jié) 281
附錄A 參數(shù)說明 282