消息隊列 RocketMQ 是阿里巴巴集團基於高可用分佈式集羣技術,自主研發的雲正式商用的專業消息中間件,既可爲分佈式應用系統提供異步解耦和削峯填谷的能力,同時也具備互聯網應用所需的海量消息堆積、高吞吐、可靠重試等特性,是阿里巴巴雙 11 使用的核心產品。
6月初偶然從朋友那裏得到一份純手打“RocketMQ筆記”(貌似全網都沒有這份學習筆記,中大獎了,哈哈哈),花了十天時間刷了第一遍,感覺挺不錯的,今天拿出來獻個寶。全網首發,純手打“RocketMQ筆記”,幫你解決95%以上的問題!
這份純手打“RocketMQ筆記”,有百來頁,一篇文章只夠介紹大概的內容,更多的細節無法全部展示出來,點擊這邊獲取免費下載的方式
純手打“RocketMQ筆記”
第一節:RocketMQ介紹
- 1.1 核心概念(主題、生產者、消費者、消息)
- 1.2 RocketMQ的設計理念和目標(設計理念、設計目標)
第二節:RocketMQ中消息的發送
- 2.1 單向[OneWay]發送(代碼演示、Producer Group、Producer實例、Message Key、Tag)
- 2.2 可靠同步發送(代碼演示、Message ID、SendStatus、Queue)
- 2.3 可靠異步發送(代碼演示)
- 2.4 RocketMQ中消息發送的權衡
第三節:RocketMQ消息消費
- 3.1 集羣消息和廣播消費(基本概念)
- 3.2 場景對比(集羣消息模式、廣播消息模式、使用集羣模式模擬廣播)
- 3.3 消費方式(推模式、拉模式)
第四節:深入消息發送
- 4.1 消息生產者流程
- 4.2 批量消息發送
- 4.3 消息重試機制(規避原則)
第五節:深入消息模式
- 5.1 拉模式
- 5.2 推模式(長輪詢、流量控制、消息隊列負載與重新分佈機制、消息確認、消息進度存儲、推模式總結)
第六節:順序消息
- 6.1 全局順序消息(適用場景、示例)
- 6.2 部分順序消息
第七節:延時消息
- 7.1 概念介紹
- 7.2 適用場景
- 7.3 使用方式
第八節:死信隊列
- 8.1 概念介紹
- 8.2 適用場景(死信消息的特性、死信隊列的特性)
第九節:消費冪等
- 9.1 什麼是消費冪等
- 9.2 需要處理的場景
- 9.3 處理方法
第十節:消息過濾
- 10.1 概念介紹
- 10.2 表達式過濾
- 10.3 類過濾
第十一節:RocketMQ存儲結構概要設計
- 11.1 消息存儲結構(CommitLog、ConsumeQueue、IndexFile、Config、其他)
- 11.2 內存映射
- 11.3 文件刷盤機制(異步刷盤方式、同步刷盤方式、總結)
- 11.4 過期文件刪除(過期判斷、刪除條件)
第十二節:RocketMQ中的事務消息
- 12.1 事務消息實現思想
- 12.2 兩階段提交
- 12.3 事務狀態回查機制
- 12.4 代碼實現
第十三節:RocketMQ主從同步(HA)機制
- 13.1 RocketMQ集羣部署模式(集羣部署模式:單master模式、多master模式、多master多Slave異步複製模式、多master多slave同步雙寫模式、多主模式與數據重複;安裝部署過程)
- 13.2 主從複製原理
- 13.3 讀寫分離機制
- 13.4 與Spring集成(Pom文件、生產者、消費者)
- 13.5 與SpringBoot集成
第14節:限時訂單實戰
- 14.1 什麼是限時訂單
- 14.2 如何實現限時訂單(限時訂單的流程、限時訂單實現的關鍵、輪詢數據庫、Java本身的提供的解決方案、從系統可用性角度考慮、從系統伸縮性角度考慮)
- 14.3 用RocketMQ實現限時訂單(延時消息:概念介紹、適用場景;核心的代碼部分)
第十五節:RocketMQ源碼分析
- 15.1 RocketMQ整體架構
- 15.2 NameServer
- 15.3 RocketMQ服務啓動
- 15.4 源碼分析之消息的來龍去脈(消息的生產:Client中的消息發送、Broker中消息的生產、Broker中更新消息隊列和索引文件;消息的消費:Client中的消息者啓動流程、消息的拉取、消息的消費)
都提到RocketMQ,不得不再來聊聊RabbitMQ
- 先上一張RabbitMQ的手繪路線圖(xmind)
- 再來一份“RabbitMQ實戰指南”
點到爲止
篇幅有限,點到爲止,不然怎麼都講不完了。。。
更多關於Java集合、JVM、多線程併發、spring原理、微服務、Netty 與RPC 、Kafka、日記、設計模式、Java算法、數據庫、Zookeeper、分佈式緩存、數據結構面試解析等等可以去這個Github鏈接地址:
https://github.com/ThinkingHan/Java-note 閱讀,Star一下吧,感謝支持~