Apache RocketMQ進階之路(圖解版)

林俊傑

  • 出版商: 機械工業
  • 出版日期: 2024-11-01
  • 定價: $714
  • 售價: 8.5$607
  • 語言: 簡體中文
  • 頁數: 320
  • ISBN: 7111766555
  • ISBN-13: 9787111766551
  • 下單後立即進貨 (約4週~6週)

商品描述

本書以Apache RocketMQ 4.9.5(編寫本書時最新的4.x版本)為基礎,從Apache RocketMQ的實際使用、原理剖析,大規模消息集群下企業級落地的實踐以及所面臨的挑戰,逐一由淺入深地進行講解。 全書分3篇,共16章。基礎篇包含第1~4章,主要講解Apache RocketMQ入門以及如何掌握Apache RocketMQ的基礎使用。原理篇包含第5~12章,主要講解了消費原理、負載均衡原理、順序消息原理等核心的RocketMQ部分。進階篇包含第13~16章,主要講解消息冪等、雙活設計等進階為架構師必須掌握的內容。講解過程中拋棄了傳統的源碼解析這種較枯燥的手段,而是更多地利用以下方式幫助讀者更快、更輕松地接受Apache RocketMQ的原理:通過近百張原創的手繪圖,形象地描述Apache RocketMQ的運作過程、原理;通過與Kafka、RabbitMQ等成熟的消息中間件產品做對比的方式,有助於讀者對相關知識觸類旁通,舉一反三;每章都有思考題,以便於讀者總結思考所學內容,進行靈活運用。隨書附贈示意代碼,獲取方式見封底。 本書適合對Apache RocketMQ感興趣的讀者閱讀。本書的內容能幫助讀者快速地從入門到精通,並借助書中所總結的實踐經驗,在工作中更好地設計出高並發、高可用的後台系統,支撐因特網業務的高速發展。

作者簡介

林俊傑,Apache RocketMQ Committer、架構師。從2017年起開始參與RocketMQ社區的工作。曾任職甲骨文、OPPO,現為某頭部上市公司後台架構師,擁有11年中間件產品和大型業務後台的雙背景研發經歷。對海量用戶、高並發、多地域容災等架構設計擁有豐富經驗,熱衷於技術總結與知識分享。

目錄大綱

基礎篇
第1章 Apache RocketMQ綜述
1.1 為什麽高並發系統都繞不開消息中間件
1.1.1 初識因特網的架構
1.1.2 大型因特網系統遇到的共性挑戰
1.1.3 為什麽要選擇Apache RocketMQ
1.2 瞭解Apache RocketMQ
1.2.1 RocketMQ簡介
1.2.2 RocketMQ發展史
1.2.3 RocketMQ在“雙十一”的表現
1.3 RocketMQ核心概念與特性
1.3.1 RocketMQ組件
1.3.2 術語
1.3.3 RocketMQ重要特性
1.4 RocketMQ初體驗
1.4.1 安裝RocketMQ
1.4.2 啟動Name Server
1.4.3 啟動Broker
1.4.4 關閉Broker和Name Server
1.4.5 驗證收發消息
1.5 本章小結
1.6 思考題
第2章 RocketMQ消息生產
2.1 生產者概述
2.1.1 生產者實例
2.1.2 生產者組
2.2 認識RocketMQ消息
2.2.1 消息結構
2.2.2 消息類型
2.3 消息發送實戰
2.3.1 發送普通消息
2.3.2 發送批量消息
2.3.3 發送順序消息
2.3.4 發送延時消息
2.3.5 發送事務消息
2.4 消息的三種發送模型
2.4.1 發送同步消息
2.4.2 發送異步消息
2.4.3 發送單向消息
2.5 生產者最佳實踐
2.5.1 不同消息類型的選擇
2.5.2 不同消息發送模型的選擇
2.5.3 發送消息的實戰建議
2.6 本章小結
2.7 思考題
第3章 RocketMQ消息消費
3.1 消費者概述
3.1.1 消費者實例
3.1.2 消費者組
3.2 初探消費流程
3.2.1 消息存儲與消息隊列的關系
3.2.2 消息消費與消息隊列的關系
3.3 消費實戰
3.3.1 Push並發消費
3.3.2 Push順序消費
3.3.3 Pull Subscribe消費
3.3.4 Pull Assign消費
3.3.5 集群模式與廣播模式
3.3.6 標簽過濾
3.3.7 SQL92過濾
3.3.8 消息重試和死信隊列
3.4 消息消費最佳實踐
3.4.1 消費日誌
3.4.2 消費冪等
3.4.3 提高消費並行度
3.4.4 批量消費方式
3.4.5 大量堆積時跳過歷史消息
3.4.6 規範消費者組名
3.4.7 訂閱關系保持一致
3.4.8 並發消費和順序消費的選擇
3.4.9 起始消費位點的設置
3.4.10 關於異步消費
3.4.11 消費狀態處理
3.5 本章小結
3.6 思考題
第4章 RocketMQ運維與管理
4.1 RocketMQ Admin Tool
4.1.1 認識RocketMQ管理工具
4.1.2 使用RocketMQ管理工具
4.2 RocketMQ Dashboard
4.2.1 Docker方式安裝RocketMQ Dashboard
4.2.2 源碼方式安裝RocketMQ Dashboard
4.2.3 使用RocketMQ Dashboard
4.3 主題管理實踐
4.3.1 主題分類
4.3.2 主題命名
4.3.3 隊列數管理
4.4 測試環境實踐
4.4.1 獨立集群模式
4.4.2 獨立主題模式
4.4.3 Tag路由模式
4.4.4 三種模式的優劣對比
4.5 生產環境運維實踐
4.5.1 集群擴容
4.5.2 集群遷移
4.6 RocketMQ常見部署架構
4.6.1 單主模式
4.6.2 主備模式的架構
4.6.3 多主模式的架構
4.6.4 同城災備模式
4.7 本章小結
4.8 思考題
原理篇
第5章 RocketMQ消費原理
5.1 理解RocketMQ的推模式
5.1.1 Push模式
5.1.2 Pull模式
5.1.3 Push模式與Pull模式的優劣對比
5.2 瞭解長輪詢
5.2.1 短輪詢
5.2.2 長輪詢
5.3 RocketMQ長輪詢實現
5.3.1 客戶端增大超時時間
5.3.2 服務端Hold住無數據的請求
5.3.3 RocketMQ長輪詢小結
5.4 RocketMQ的消息拉取優化細節
5.4.1 客戶端請求異步化
5.4.2 服務端超時處理細節
5.4.3 服務端多線程交互
5.4.4 合並多個Pull請求
5.5 消費者線程模型
5.5.1 消費流程涉及的關鍵線程
5.5.2 消費線程池
5.6 消費進度管理
5.6.1 消費進度存儲
5.6.2 初次啟動從哪裡消費
5.7 消息ACK機制
5.7.1 AT LEAST ONCE保證
5.7.2 消息消費失敗進度管理
5.8 消息失敗重試設計
5.8.1 重試主題
5.8.2 延遲重試
5.9 消息消費異常處理
5.9.1 消費超時
5.9.2 卡進度的保護處理
5.9.3 消息重發與順序性的矛盾
5.10 本章小結
5.11 思考題
第6章 RocketMQ負載均衡與消費模式
6.1 負載均衡綜述
6.2 消息生產負載均衡
6.2.1 消息生產負載均衡概述
6.2.2 消息生成負載均