消息中間件是分佈式系統中的重要組件,在實際工做中經常使用消息中間件進行系統間數據交換,從而解決應用解耦、異步消息、流量削峯等問題,實現高性能、高可用、可伸縮和最終一致性架構。目前市面上可供選擇的消息中間件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、 ZeroMQ、MetaMQ等。架構
這份筆記結合阿里大牛近年來在實際項目中使用消息中間件的經歷和踩過的一-些坑總結整理而成,主要介紹消息中間件使用的背景、基本概念,以及經常使用的四種消息中間件產品在各個業務場景中的使用案例。app
如下是筆記中總結的的知識點:異步
消息隊列分佈式
消息協議ide
RabbitMQ性能
ActiveMQspa
Kafka設計
RocketMQ3d
第一章:消息隊列因爲筆記內容過多,所以爲了不影響到你們的閱讀體驗,在此只以截圖展現部份內容,詳細完整版的看文末有免費的獲取方式!日誌
介紹消息隊列技術的背景,包括使用場景和消息隊列的功能特色,並設計了一個:簡單的消息隊列。
第2章:消息協議
介紹消息隊列中經常使用的消息協議,包括每一個消息協議的歷史背景、主要概念和基於該協議的消息通訊過程。本章所介紹的協議也是接下來理解各類消息中間件產品的基礎。
第3章:RabbitMQ
具體介紹RabbitMQ的特色、主要概念和Java使用示例,接着經過使用RabbitMQ實現異步處理和消息推送的功能,最後給出在工做中使用RabbitMQ時的一些實踐建議。
第4章:ActiveMQ
具體介紹ActiveMQ的特色、基本概念和Java使用示例,接着經過使用ActiveMQ實現消息推送分佈式事務的功能,最後給出在工做中使用ActiveMQ時的一些實踐建議。
第5章:Kafka
具體介紹Kafka的特色、主要概念和Java使用示例,接着經過使用Kafka實現用戶行爲數據採集、日誌收集和流量削峯的功能,最後給出在工做中使用Kafka 時的一些實踐建議。
第6章:RocketMQ
具體介紹RocketMQ的特色、主要概念和Java使用示例,接着經過使用RocketMQ的特性實現消息順序處理和分佈式事務的另一種解決方案,最後給出在工做中使用RocketMQ時的一些實踐建議。