新到貨2本75折
RocketMQ技術內幕:RocketMQ架構設計與實現原理(第2版)

RocketMQ技術內幕:RocketMQ架構設計與實現原理(第2版)

  • 定價:654
  • 優惠價:87569
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

這是一本指導讀者如何在實踐中讓RocketMQ實現高性能、高可用、高輸送量和低延遲的著作。
 
作者是RocketMQ官方認定的“優 秀佈道師”和技術專家,持續在RocketMQ領域深耕。本書從源碼的角度分析了RocketMQ的技術架構和實現原理,第1版獲得了良好的口碑,是RocketMQ領域的標誌性作品,第2版做了較大幅度的更新。
 
Apache RocketMQ創始人/Linux OpenMessaging創始人兼主席/Alibaba Messaging開放技術負責人馮嘉高度評價並作序推薦。
 
全書一共11章,邏輯上可分為3個部分:
 
第1部分(第1章):
 
簡單介紹了RocketMQ的設計理念與目標,以及閱讀RocketMQ源碼的方法與技巧;
 
第二部分(第2~9章):
 
從源碼角度對RocketMQ的技術架構以及消息發送、消息存儲、消息消費、消息過濾、順序消息、主從同步、事務消息等主要功能模組的實現原理進行了深入分析。
 
第三部分(第10~11章):
 
首先從實戰的角度講了RocketMQ監控的原理、實現和應用,然後通過各種類型的大量示例展示了RocketMQ的使用技巧。
 

目錄


前言

第1章 閱讀源碼前的準備1
1.1 獲取和調試RocketMQ的源碼1
1.1.1 Eclipse獲取RocketMQ源碼1
1.1.2 Eclipse調試RocketMQ源碼8
1.1.3 IntelliJ IDEA獲取RocketMQ源碼14
1.1.4 IntelliJ IDEA調試RocketMQ源碼16
1.2 RocketMQ源碼的目錄結構23
1.3 RocketMQ的設計理念和設計目標23
1.3.1 設計理念23
1.3.2 設計目標24
1.4 本章小結26

第2章 RocketMQ路由中心NameServer27
2.1 NameServer架構設計27
2.2 NameServer啟動流程29
2.3 NameServer路由註冊、故障剔除32
2.3.1 路由元信息32
2.3.2 路由註冊35
2.3.3 路由刪除40
2.3.4 路由發現43
2.4 本章小結44

第3章 RocketMQ消息發送46
3.1 漫談RocketMQ消息發送46
3.1.1 topic路由機制47
3.1.2 消息發送高可用設計48
3.2 認識RocketMQ消息50
3.3 生產者啟動流程51
3.3.1 初識DefaultMQProducer51
3.3.2 消息生產者啟動流程54
3.4 消息發送基本流程55
3.4.1 消息長度驗證56
3.4.2 查找主題路由資訊57
3.4.3 選擇訊息佇列60
3.4.4 消息發送65
3.5 批量消息發送72
3.6 本章小結74

第4章 RocketMQ消息存儲75
4.1 存儲概要設計75
4.1.1 RocketMQ存儲檔的組織方式76
4.1.2 記憶體映射80
4.1.3 靈活多變的刷盤策略81
4.1.4 transientStorePoolEnable機制82
4.1.5 檔案修復機制82
4.2 初識消息存儲83
4.3 消息發送存儲流程84
4.4 存儲檔組織與記憶體映射90
4.4.1 MappedFileQueue映射檔佇列 90
4.4.2 MappedFile記憶體映射檔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 根據消息更新ConsumeQueue檔113
4.6.2 根據消息更新Index檔114
4.7 ConsumeQueue與Index檔案修復115
4.7.1 Broker正常停止檔案修復118
4.7.2 Broker異常停止檔案修復120
4.8 檔刷盤機制121
4.8.1 Broker同步刷盤122
4.8.2 Broker非同步刷盤125
4.9 過期檔刪除機制128
4.10 同步雙寫132
4.11 本章小結136

第5章 RocketMQ消息消費137
5.1 RocketMQ消息消費概述137
5.1.1 消費佇列負載機制與重平衡138
5.1.2 併發消費模型139
5.1.3 消息消費進度回饋機制139
5.2 消息消費者初探141
5.3 消費者啟動流程143
5.4 消息拉取146
5.4.1 PullMessageService實現機制147
5.4.2 ProcessQueue實現機制149
5.4.3 消息拉取基本流程150
5.5 訊息佇列負載與重新分佈機制167
5.6 消息消費過程175
5.6.1 消息消費176
5.6.2 消息確認180
5.6.3 消費進度管理184
5.7 定時消息機制189
5.7.1 load()方法190
5.7.2 start()方法190
5.7.3 定時調度邏輯192
5.8 消息過濾機制194
5.9 順序消息199
5.9.1 訊息佇列負載199
5.9.2 消息拉取200
5.9.3 消息消費201
5.9.4 訊息佇列鎖實現208
5.10 本章小結209

第6章 RocketMQ的ACL210
6.1 什麼是ACL210
6.2 如何使用ACL211
6.2.1 Broker端開啟ACL211
6.2.2 用戶端使用ACL212
6.3 ACL實現原理214
6.3.1 Broker端ACL核心入口214
6.3.2 PlainAccessValidator詳解216
6.3.3 PlainPermissionManager詳解220
6.3.4 AclClientRPCHook詳解228
本章小結231

第7章 RocketMQ主從同步機制232
7.1 RocketMQ主從同步原理232
7.1.1 HAService整體工作機制233
7.1.2 AcceptSocketService實現原理233
7.1.3 GroupTransferService實現原理235
7.1.4 HAClient實現原理236
7.1.5 HAConnection實現原理239
7.2 RocketMQ讀寫分離機制245
7.3 RocketMQ中繼資料同步248
7.3.1 從節點主動同步中繼資料249
7.3.2 主節點消息拉取主動同步消費進度250
7.4 本章小結251

第8章 RocketMQ消息軌跡252
8.1 消息軌跡的引入目的和使用方法252
8.2 消息軌跡設計原理255
8.2.1 消息軌跡資料格式255
8.2.2 如何採集軌跡資料256
8.2.3 如何存儲消息軌跡資料257
8.3 消息軌跡實現原理257
8.3.1 尋找消息軌跡入口257
8.3.2 消息發送軌跡資料259
8.3.3 消息軌跡非同步轉發實現機制261
8.4 本章小結265

第9章 RocketMQ主從切換266
9.1 主從切換引入目的266
9.2 Raft協議簡介267
9.2.1 Leader選舉267
9.2.2 日誌複製268
9.3 RocketMQ DLedger主從切換之Leader選主269
9.3.1 DLedgerLeaderElector核心類及核心屬性270
9.3.2 選舉狀態管理器初始化271
9.3.3 選舉狀態機狀態流轉273
9.3.4 發送投票請求與處理投票請求280
9.3.5 發送心跳包與處理心跳包283
9.4 RocketMQ DLedger主從切換之存儲實現288
9.4.1 RocketMQ DLedger核心類及核心屬性288
9.4.2 RocketMQ DLedger資料存儲協定290
9.4.3 RocketMQ DLedger索引存儲協定291
9.5 RocketMQ DLedger主從切換之日誌追加291
9.5.1 日誌追加流程概述291
9.5.2 判斷Push佇列是否已滿293
9.5.3 Leader節點日誌存儲293
9.5.4 Leader節點等待從節點日誌複製響應ACK298
9.6 RocketMQ DLedger主從切換之日誌複製299
9.6.1 日誌複製設計理念300
9.6.2 日誌複製類設計體系301
9.6.3 日誌轉發303
9.7 RocketMQ整合DLedger設計技巧與實現原理326
9.7.1 資料存儲相容設計327
9.7.2 資料存儲相容實現原理328
9.7.3 主從切換中繼資料同步機制337
9.8 RocketMQ主從切換實戰344
9.8.1 主從切換核心配置屬性344
9.8.2 搭建主從同步環境344
9.8.3 主從同步集群升級到主從切換346
9.9 本章小結350

第10章 RocketMQ監控352
10.1 設計理念352
10.2 實現原理353
10.2.1 監控相關類圖353
10.2.2 監控原始資料獲取流程355
10.3 監控資料採樣機制356
10.3.1 監控資料採樣356
10.3.2 根據採樣計算統計指標357
10.4 如何採集監控指標359
10.5 監控實戰應用360
10.6 本章小結365

第11章 RocketMQ實戰366
11.1 消息批量發送366
11.2 消息發送佇列自選擇367
11.3 消息過濾368
11.3.1 TAG過濾模式368
11.3.2 SQL過濾模式368
11.3.3 類過濾模式369
11.4 事務消息371
11.5 Spring整合RocketMQ375
11.6 Spring Cloud整合RocketMQ376
11.7 RocketMQ監控與運維命令384
11.7.1 搭建RocketMQ監控平臺rocketmq-console384
11.7.2 RocketMQ管理命令387
11.8 應用場景分析423
11.9 實戰案例424
11.9.1 RocketMQ集群線上故障縮容實戰案例424
11.9.2 RocketMQ線上擴容實戰427
11.10 本章小結430

附錄A 參數說明 431
附錄B RocketMQ各版本概述與升級建議 436
 

詳細資料

  • ISBN:9787111690924
  • 規格:平裝 / 444頁 / 16k / 19 x 26 x 2.22 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 從「格」的概念出發|
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折