定 價(jià):¥69.00
作 者: | 丁威,周繼鋒 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787111614210 | 出版時(shí)間: | 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è)計(jì)理念和目標(biāo) 28
1.3.1 設(shè)計(jì)理念 28
1.3.2 設(shè)計(jì)目標(biāo) 28
第2章 RocketMQ路由中心NameServer 31
2.1 NameServer架構(gòu)設(shè)計(jì) 31
2.2 NameServer啟動(dòng)流程 32
2.3 NameServer路由注冊(cè)、故障剔除 36
2.3.1 路由元信息 36
2.3.2 路由注冊(cè) 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)識(shí)RocketMQ消息 50
3.3 生產(chǎn)者啟動(dòng)流程 51
3.3.1 初識(shí)DefaultMQProducer消息發(fā)送者 51
3.3.2 消息生產(chǎn)者啟動(dòng)流程 54
3.4 消息發(fā)送基本流程 56
3.4.1 消息長(zhǎng)度驗(yàn)證 56
3.4.2 查找主題路由信息 56
3.4.3 選擇消息隊(duì)列 60
3.4.4 消息發(fā)送 65
3.5 批量消息發(fā)送 71
3.6 本章小結(jié) 74
第4章 RocketMQ消息存儲(chǔ) 75
4.1 存儲(chǔ)概要設(shè)計(jì) 75
4.2 初識(shí)消息存儲(chǔ) 76
4.3 消息發(fā)送存儲(chǔ)流程 78
4.4 存儲(chǔ)文件組織與內(nèi)存映射 83
4.4.1 MappedFileQueue映射文件隊(duì)列 84
4.4.2 MappedFile內(nèi)存映射文件 87
4.4.3 TransientStorePool 93
4.5 RocketMQ存儲(chǔ)文件 94
4.5.1 Commitlog文件 95
4.5.2 ConsumeQueue文件 97
4.5.3 Index索引文件 100
4.5.4 checkpoint文件 104
4.6 實(shí)時(shí)更新消息消費(fèi)隊(duì)列與索引文件 105
4.6.1 根據(jù)消息更新ConumeQueue 107
4.6.2 根據(jù)消息更新Index索引文件 108
4.7 消息隊(duì)列與索引文件恢復(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)者啟動(dòng)流程 130
5.4 消息拉取 133
5.4.1 PullMessageService實(shí)現(xiàn)機(jī)制 133
5.4.2 ProcessQueue實(shí)現(xiàn)機(jī)制 136
5.4.3 消息拉取基本流程 138
5.5 消息隊(duì)列負(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 定時(shí)消息機(jī)制 176
5.7.1 load方法 177
5.7.2 start方法 178
5.7.3 定時(shí)調(diào)度邏輯 179
5.8 消息過濾機(jī)制 181
5.9 順序消息 186
5.9.1 消息隊(duì)列負(fù)載 187
5.9.2 消息拉取 187
5.9.3 消息消費(fèi) 188
5.9.4 消息隊(duì)列鎖實(shí)現(xiàn) 195
5.10 本章小結(jié) 196
第6章 消息過濾FilterServer 198
6.1 ClassFilter運(yùn)行機(jī)制 198
6.2 FilterServer注冊(cè)剖析 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實(shí)現(xiàn)原理 208
7.1.3 GroupTransferService實(shí)現(xiàn)原理 210
7.1.4 HAClient實(shí)現(xiàn)原理 211
7.1.5 HAConnection實(shí)現(xiàn)原理 214
7.2 RocketMQ讀寫分離機(jī)制 220
7.3 本章小結(jié) 223
第8章 RocketMQ事務(wù)消息 225
8.1 事務(wù)消息實(shí)現(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實(shí)戰(zhàn) 242
9.1 消息批量發(fā)送 242
9.2 消息發(fā)送隊(duì)列自選擇 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)控平臺(tái)搭建 258
9.7.2 RocketMQ管理命令 261
9.8 應(yīng)用場(chǎng)景分析 280
9.9 本章小結(jié) 281
附錄A 參數(shù)說明 282