注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計RocketMQ技術(shù)內(nèi)幕:RocketMQ架構(gòu)設(shè)計與實現(xiàn)原理(第2版)

RocketMQ技術(shù)內(nèi)幕:RocketMQ架構(gòu)設(shè)計與實現(xiàn)原理(第2版)

RocketMQ技術(shù)內(nèi)幕:RocketMQ架構(gòu)設(shè)計與實現(xiàn)原理(第2版)

定 價:¥109.00

作 者: 丁威,張登,周繼鋒 著
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111690924 出版時間: 2021-11-01 包裝: 平裝
開本: 16開 頁數(shù): 456 字?jǐn)?shù):  

內(nèi)容簡介

  這是一本指導(dǎo)讀者如何在實踐中讓RocketMQ實現(xiàn)高性能、高可用、高吞吐量和低延遲的著作。作者是RocketMQ官方認(rèn)定的“優(yōu)秀布道師”和技術(shù)專家,持續(xù)在RocketMQ領(lǐng)域深耕。本書從源碼的角度分析了RocketMQ的技術(shù)架構(gòu)和實現(xiàn)原理,第1版獲得了良好的口碑,是RocketMQ領(lǐng)域的標(biāo)志性作品,第2版做了較大幅度的更新。Apache RocketMQ創(chuàng)始人/Linux OpenMessaging創(chuàng)始人兼主席/阿里 Messaging開放技術(shù)負(fù)責(zé)人馮嘉高度評價并作序推薦?!救珪还?1章,分為3個部分】 第1部分(第1章): 簡單介紹了RocketMQ的設(shè)計理念與目標(biāo),以及閱讀RocketMQ源碼的方法與技巧; 第二部分(第2~9章): 從源碼角度對RocketMQ的技術(shù)架構(gòu)以及消息發(fā)送、消息存儲、消息消費、消息過濾、順序消息、主從同步、事務(wù)消息等主要功能模塊的實現(xiàn)原理進(jìn)行了深入分析。 第三部分(第10~11章): 首先從實戰(zhàn)的角度講了RocketMQ監(jiān)控的原理、實現(xiàn)和應(yīng)用,然后通過各種類型的大量示例展示了RocketMQ的使用技巧。

作者簡介

  丁威中間件技術(shù)專家,資深RocketMQ技術(shù)專家,曾獲RocketMQ官方頒發(fā)的“優(yōu)秀布道師”稱號。 現(xiàn)擔(dān)任中通快遞技術(shù)平臺部資深架構(gòu)師,主要負(fù)責(zé)全鏈路壓測、消息中間件、數(shù)據(jù)同步等產(chǎn)品的研發(fā)與落地,擁有千億級消息集群的運維經(jīng)驗,不僅實踐經(jīng)驗豐富,而且對RocketMQ的源碼有深入、系統(tǒng)的研究。 熱衷于中間件領(lǐng)域的技術(shù)分享,榮獲“CSDN 2020博客之星”等榮譽(yù)稱號,維護(hù)“中間件興趣圈”,更多精彩內(nèi)容,可以關(guān)注公眾號。張登 專家級架構(gòu)師,資深RocketMQ技術(shù)專家,在分布式系統(tǒng)架構(gòu)領(lǐng)域有豐富的實戰(zhàn)經(jīng)驗,擅長高并發(fā)系統(tǒng)的架構(gòu)設(shè)計與調(diào)優(yōu),主導(dǎo)過多家快遞公司EA規(guī)劃。 曾就職于德邦等公司,現(xiàn)任圓通科技公司技術(shù)平臺部架構(gòu)負(fù)責(zé)人,負(fù)責(zé)開發(fā)框架的搭建、中間件及混合云相關(guān)技術(shù)的平臺化建設(shè)。主導(dǎo)設(shè)計過消息分發(fā)、API網(wǎng)關(guān)、全鏈路監(jiān)控、分布式文件存儲等多個涉及百億級規(guī)模的基礎(chǔ)服務(wù)平臺。 “IT巔峰技術(shù)”公眾號維護(hù)者,RocketMQ上海社區(qū)聯(lián)合創(chuàng)始人。 周繼鋒 資深RocketMQ技術(shù)專家,知名開源分布式數(shù)據(jù)庫中間件Mycat負(fù)責(zé)人。 擁有10余年大型項目架構(gòu)設(shè)計及實戰(zhàn)經(jīng)驗,曾主導(dǎo)過大量分布式、微服務(wù)、大數(shù)據(jù)相關(guān)的項目。在高并發(fā)、高可用、高可擴(kuò)展性、高可維護(hù)性等領(lǐng)域有豐富經(jīng)驗,對Hadoop、Spark的源碼進(jìn)行過深度分析并具有豐富的實戰(zhàn)經(jīng)驗。 曾在醫(yī)學(xué)、互聯(lián)網(wǎng),SAAS行業(yè)擔(dān)任資深架構(gòu)師、技術(shù)總監(jiān)等職務(wù)?,F(xiàn)任煉數(shù)成金高級講師,廣州鼎牛網(wǎng)絡(luò)、金石數(shù)字創(chuàng)始人。

圖書目錄

第1章 閱讀源碼前的準(zhǔn)備1
1.1 獲取和調(diào)試RocketMQ的源碼1
1.1.1 Eclipse獲取RocketMQ源碼1
1.1.2 Eclipse調(diào)試RocketMQ源碼8
1.1.3 IntelliJ IDEA獲取RocketMQ源碼14
1.1.4 IntelliJ IDEA調(diào)試RocketMQ源碼16
1.2 RocketMQ源碼的目錄結(jié)構(gòu)23
1.3 RocketMQ的設(shè)計理念和設(shè)計目標(biāo)23
1.3.1 設(shè)計理念23
1.3.2 設(shè)計目標(biāo)24
1.4 本章小結(jié)26
第2章 RocketMQ路由中心NameServer27
2.1 NameServer架構(gòu)設(shè)計27
2.2 NameServer啟動流程29
2.3 NameServer路由注冊、故障剔除32
2.3.1 路由元信息32
2.3.2 路由注冊35
2.3.3 路由刪除40
2.3.4 路由發(fā)現(xiàn)43
2.4 本章小結(jié)44
第3章 RocketMQ消息發(fā)送46
3.1 漫談RocketMQ消息發(fā)送46
3.1.1 topic路由機(jī)制47
3.1.2 消息發(fā)送高可用設(shè)計48
3.2 認(rèn)識RocketMQ消息50
3.3 生產(chǎn)者啟動流程51
3.3.1 初識DefaultMQProducer51
3.3.2 消息生產(chǎn)者啟動流程54
3.4 消息發(fā)送基本流程55
3.4.1 消息長度驗證56
3.4.2 查找主題路由信息57
3.4.3 選擇消息隊列60
3.4.4 消息發(fā)送65
3.5 批量消息發(fā)送72
3.6 本章小結(jié)74
第4章 RocketMQ消息存儲75
4.1 存儲概要設(shè)計75
4.1.1 RocketMQ存儲文件的組織方式76
4.1.2 內(nèi)存映射80
4.1.3 靈活多變的刷盤策略81
4.1.4 transientStorePoolEnable機(jī)制82
4.1.5 文件恢復(fù)機(jī)制82
4.2 初識消息存儲83
4.3 消息發(fā)送存儲流程84
4.4 存儲文件組織與內(nèi)存映射90
4.4.1 MappedFileQueue映射文件隊列 90
4.4.2 MappedFile內(nèi)存映射文件92
4.4.3 TransientStorePool99
4.5 RocketMQ存儲文件100
4.5.1 CommitLog文件101
4.5.2 ConsumeQueue文件102
4.5.3 Index文件106
4.5.4 checkpoint文件110
4.6 實時更新ConsumeQueue與Index文件111
4.6.1 根據(jù)消息更新ConsumeQueue文件113
4.6.2 根據(jù)消息更新Index文件114
4.7 ConsumeQueue與Index文件恢復(fù)115
4.7.1 Broker正常停止文件恢復(fù)118
4.7.2 Broker異常停止文件恢復(fù)120
4.8 文件刷盤機(jī)制121
4.8.1 Broker同步刷盤122
4.8.2 Broker異步刷盤125
4.9 過期文件刪除機(jī)制128
4.10 同步雙寫132
4.11 本章小結(jié)136
第5章 RocketMQ消息消費137
5.1 RocketMQ消息消費概述137
5.1.1 消費隊列負(fù)載機(jī)制與重平衡138
5.1.2 并發(fā)消費模型139
5.1.3 消息消費進(jìn)度反饋機(jī)制139
5.2 消息消費者初探141
5.3 消費者啟動流程143
5.4 消息拉取146
5.4.1 PullMessageService實現(xiàn)機(jī)制147
5.4.2 ProcessQueue實現(xiàn)機(jī)制149
5.4.3 消息拉取基本流程150
5.5 消息隊列負(fù)載與重新分布機(jī)制167
5.6 消息消費過程175
5.6.1 消息消費176
5.6.2 消息確認(rèn)180
5.6.3 消費進(jìn)度管理184
5.7 定時消息機(jī)制189
5.7.1 load()方法190
5.7.2 start()方法190
5.7.3 定時調(diào)度邏輯192
5.8 消息過濾機(jī)制194
5.9 順序消息199
5.9.1 消息隊列負(fù)載199
5.9.2 消息拉取200
5.9.3 消息消費201
5.9.4 消息隊列鎖實現(xiàn)208
5.10 本章小結(jié)209
第6章 RocketMQ的ACL210
6.1 什么是ACL210
6.2 如何使用ACL211
6.2.1 Broker端開啟ACL211
6.2.2 客戶端使用ACL212
6.3 ACL實現(xiàn)原理214
6.3.1 Broker端ACL核心入口214
6.3.2 PlainAccessValidator詳解216
6.3.3 PlainPermissionManager詳解220
6.3.4 AclClientRPCHook詳解228
6.4 本章小結(jié)231
第7章 RocketMQ主從同步機(jī)制232
7.1 RocketMQ主從同步原理232
7.1.1 HAService整體工作機(jī)制233
7.1.2 AcceptSocketService實現(xiàn)原理233
7.1.3 GroupTransferService實現(xiàn)原理235
7.1.4 HAClient實現(xiàn)原理236
7.1.5 HAConnection實現(xiàn)原理239
7.2 RocketMQ讀寫分離機(jī)制245
7.3 RocketMQ元數(shù)據(jù)同步248
7.3.1 從節(jié)點主動同步元數(shù)據(jù)249
7.3.2 主節(jié)點消息拉取主動同步消費進(jìn)度250
7.4 本章小結(jié)251
第8章 RocketMQ消息軌跡252
8.1 消息軌跡的引入目的和使用方法252
8.2 消息軌跡設(shè)計原理255
8.2.1 消息軌跡數(shù)據(jù)格式255
8.2.2 如何采集軌跡數(shù)據(jù)256
8.2.3 如何存儲消息軌跡數(shù)據(jù)257
8.3 消息軌跡實現(xiàn)原理257
8.3.1 尋找消息軌跡入口257
8.3.2 消息發(fā)送軌跡數(shù)據(jù)259
8.3.3 消息軌跡異步轉(zhuǎn)發(fā)實現(xiàn)機(jī)制261
8.4 本章小結(jié)265
第9章 RocketMQ主從切換266
9.1 主從切換引入目的266
9.2 Raft協(xié)議簡介267
9.2.1 Leader選舉267
9.2.2 日志復(fù)制268
9.3 RocketMQ DLedger主從切換之Leader選主269
9.3.1 DLedgerLeaderElector核心類及核心屬性270
9.3.2 選舉狀態(tài)管理器初始化271
9.3.3 選舉狀態(tài)機(jī)狀態(tài)流轉(zhuǎn)273
9.3.4 發(fā)送投票請求與處理投票請求280
9.3.5 發(fā)送心跳包與處理心跳包283
9.4 RocketMQ DLedger主從切換之存儲實現(xiàn)288
9.4.1 RocketMQ DLedger核心類及核心屬性288
9.4.2 RocketMQ DLedger數(shù)據(jù)存儲協(xié)議290
9.4.3 RocketMQ DLedger索引存儲協(xié)議291
9.5 RocketMQ DLedger主從切換之日志追加291
9.5.1 日志追加流程概述291
9.5.2 判斷Push隊列是否已滿293
9.5.3 Leader節(jié)點日志存儲293
9.5.4 Leader節(jié)點等待從節(jié)點日志復(fù)制響應(yīng)ACK298
9.6 RocketMQ DLedger主從切換之日志復(fù)制299
9.6.1 日志復(fù)制設(shè)計理念300
9.6.2 日志復(fù)制類設(shè)計體系301
9.6.3 日志轉(zhuǎn)發(fā)303
9.7 RocketMQ整合DLedger設(shè)計技巧與實現(xiàn)原理326
9.7.1 數(shù)據(jù)存儲兼容設(shè)計327
9.7.2 數(shù)據(jù)存儲兼容實現(xiàn)原理328
9.7.3 主從切換元數(shù)據(jù)同步機(jī)制337
9.8 RocketMQ主從切換實戰(zhàn)344
9.8.1 主從切換核心配置屬性344
9.8.2 搭建主從同步環(huán)境344
9.8.3 主從同步集群升級到主從切換346
9.9 本章小結(jié)350
第10章 RocketMQ監(jiān)控352
10.1 設(shè)計理念352
10.2 實現(xiàn)原理353
10.2.1 監(jiān)控相關(guān)類圖353
10.2.2 監(jiān)控原始數(shù)據(jù)采集流程355
10.3 監(jiān)控數(shù)據(jù)采樣機(jī)制356
10.3.1 監(jiān)控數(shù)據(jù)采樣356
10.3.2 根據(jù)采樣計算統(tǒng)計指標(biāo)357
10.4 如何采集監(jiān)控指標(biāo)359
10.5 監(jiān)控實戰(zhàn)應(yīng)用360
10.6 本章小結(jié)365
第11章 RocketMQ實戰(zhàn)366
11.1 消息批量發(fā)送366
11.2 消息發(fā)送隊列自選擇367
11.3 消息過濾368
11.3.1 TAG過濾模式368
11.3.2 SQL過濾模式368
11.3.3 類過濾模式369
11.4 事務(wù)消息371
11.5 Spring整合RocketMQ375
11.6 Spring Cloud整合RocketMQ376
11.7 RocketMQ監(jiān)控與運維命令384
11.7.1 搭建RocketMQ監(jiān)控平臺rocketmq-console384
11.7.2 RocketMQ管理命令387
11.8 應(yīng)用場景分析423
11.9 實戰(zhàn)案例424
11.9.1 RocketMQ集群線上故障縮容實戰(zhàn)案例424
11.9.2 RocketMQ在線擴(kuò)容實戰(zhàn)427
11.10 本章小結(jié)430

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號