騰訊內容首發:分佈式核心原理解析筆記+分佈式消息中間件實踐筆記PDF版

分佈式消息中間件實踐筆記

首先,這份分佈式消息中間件實踐筆記是以Java語言編寫。緩存

消息中間件是分佈式系統中的重要組件,在實際工做中經常使用消息中間件進行系統間數據交換,從而解決應用解耦、異步消息、流量削峯等問題,實現高性能、高可用、可伸縮和最終一致性架構。 目前市面上可供選擇的消息中間件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、 ZeroMQ、 MetaMQ 等。網絡

這份筆記結合做者近年來在實際項目中使用消息中間件的經歷和踩過的一些坑總結整理而成,主要介紹消息中間件使用的背景、基本概念,以及經常使用的四種消息中間件產品在各個業務場景中的使用案例。做爲案例介紹,雖然不能對各類消息中間件產品的全部特性作詳細說明,可是但願讀者能夠經過每章中的案例討論和實踐建議獲得啓發,爲在實際工做中進行產品選型、業務場景方案制定、性能調整等提供思路。架構

下面會爲你們分享分佈式消息中間件實踐筆記+分佈式核心原理解析筆記,爲了避免影響你們的閱讀體驗,免費的獲取方式放在了文末!併發

消息隊列

系統間通訊技術介紹負載均衡

爲什麼要用消息隊列異步

消息隊列的功能特色分佈式

設計一個簡單的消息隊列高併發

  • 消息處理中心
  • 客戶端訪問

消息協議

AMQP性能

MQTT區塊鏈

STOMP

XMPP

JMS

RabbitMQ

簡介

工程實例

  • Java 訪問RabbitMQ實例
  • Spring 整合RabbitMQ
  • 基於RabbitMQ的異步處理
  • 基於RabbitMQ的消息推送

RabbitMQ實踐建議

  • 虛擬主機
  • 消息保存
  • 消息確認模式
  • 消費者應答
  • 流控機制
  • 通道
  • 總結

ActiveMQ

簡介

工程實例

  • Java 訪問ActiveMQ實例
  • Spring 整合ActiveMQ
  • 基於ActiveMQ的消息推送
  • 基於ActiveMQ的分佈式事務

ActiveMQ實踐建議

  • 消息轉發模式
  • 消息積壓
  • 消息事務
  • 消息應答模式
  • 消息發送優化
  • 消息消費優化
  • 消息協議
  • 消息持久化

Kafka

簡介

工程實例

  • Java 訪問Kafka實例
  • Spring 整合Kafka
  • 基於Kafka的用戶行爲數據採集
  • 基於Kafka的日誌收集
  • 基於Kafka的流量削峯

Kafka實踐建議

  • 分區
  • 複製
  • 消息發送
  • 消費者組
  • 消費偏移量

RocketMQ

簡介

工程實例

  • Java訪問RocketMQ實例
  • Spring整合RocketMQ
  • 基於RocketMQ的消息順序處理
  • 基於RocketMQ的分佈式事務

RocketMQ實踐建議

  • 消息重試
  • 消息重複
  • 集羣
  • 順序消息
  • 定時消息
  • 批量發送消息
  • 事務消息

分佈式核心原理解析筆記

按照不一樣維度,分佈式系統的指標能夠分爲性能、資源佔用、可用性、可擴展性這四大類。咱們天然但願本身的系統,是高性能、高可用、高擴展和低資源佔用的,但考慮到硬件成本、開發效率等因素,必需要在設計不一樣的系統、業務時有所取捨。

因此,我又和你分析了典型的電商、loT、 電信、HPC (高性能計算)、大數據、 雲計算、區塊鏈等業務或系統的不一樣訴求,進而得出了系統設計者須要關注哪些指標。你在設計其餘類型的系統時,能夠按照這個思路進行取捨。

分佈式協調與同步

分佈式互斥

分佈式選舉

分佈式共識

分佈式事務

分佈式鎖

分佈式技術是如何引爆人工智能的?

分佈式資源管理與負載調度

分佈式體系結構一集中式結構

分佈式體系結構一非集中式結構

分佈式調度架構一單體調度

分佈式調度架構一兩層調度

分佈式調度架構一共享狀態調度

分佈式事務與分佈式鎖相關問題

分佈式計算技術

分佈式計算模式一MR

分佈式計算模式一Stream

分佈式計算模式一Actor

分佈式計算模式一流水線

分佈式通訊技術

分佈式通訊一遠程調用

分佈式通訊一發布訂閱

分佈式通訊一消息隊列

分佈式體系架構與分佈式計算相關問題

分佈式數據存儲

CAP理論

分佈式數據存儲系統一三要素

數據分佈方式一哈希與一致性哈希

分佈式數據複製技術

分佈式數據—緩存技術

分佈式高可靠

分佈式高可靠一負載均衡

分佈式高可靠一流量控制

分佈式高可用一故障隔離

分佈式高可用—故障恢復

如何判斷並解決網絡分區問題?

總結

消息隊列在大型分佈式系統中具備豐富的應用場景。例如,系統間須要解耦,一個系統發佈消息,多個系統訂閱消費消息,消息生產者並不須要知道消費方是誰。在高併發場景下,好比秒殺活動,短期內會發起大量請求,爲應對瞬時請求,若是部署大量的機器來處理請求,秒殺活動結束後流量很低,則會浪費不少資源,增長成本,而使用消息隊列的堆積能力,先保存請求,再勻速處理請求,則會很好地解決此類問題。筆記中從不一樣角度細緻地講解了各類消息中間件,讀者能夠結合場景,從高可用性、可擴展性、伸縮性、消息堆積能力等方面選擇符合本身需求的中間件。

100%免費獲取方式:轉發這篇文章+關注我,而後掃碼獲取!

相關文章
相關標籤/搜索