天天看點

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

1 為什麼是你? RabbitMQ

RabbitMQ是一個開源的消息代理和隊列伺服器,通過普通協定在完全不同的應用之間共享資料,使用Erlang語言編寫,并且基于AMQP協定.

1.1 大廠們共同的抉擇

  • 滴滴、美團、頭條、去哪兒、藝龍...

1.2 得天獨厚的強勢

  • 開源,性能優秀,穩定性有保障
  • 提供可靠性消息投遞模式(confirm), 傳回模式 ( return )
  • 與Spring AMQP完美整合,API豐富
  • 叢集模式豐富,表達式配置,HA模式,鏡像隊列模型
  • 保證資料不丢失的前提做到高可靠性、可用性

2 高性能之源

  • Erlang語言 最初在于交換機領域的架構模式,這樣使得RabbitMQ在Broker之間進行資料互動的性能是非常優秀的
  • Erlang的優點: Erlang有着和原生Socket一樣的延遲

3 AMQP協定

  • AMQP全稱: Advanced Message Queuing Protocol 進階消息隊列協定
  • AMQP定義

    是具有現代特征的二進制協定。 是一個提供統一消息服務的應用層标準進階消息隊列協定,是應用層協定的一個開放标準,為面向消息的中間件設計

4 協定模型

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

5 AMQP核心概念

  • Server: 又稱Broker, 接受用戶端的連接配接,實作AMQP實體服務
  • Connection: 連接配接,應用程式與Broker的網絡連接配接
  • Channel:網絡信道,幾乎所有的操作都在Channel中進行,Channel是進行消息讀寫的通道。用戶端可建立多個Channel,每個Channel代表一個會話任務
  • Message:消息,伺服器和應用程式之間傳送的資料,由Properties和Body組成。Properties可以對消息進行修飾, 比如消息的優先級、延遲等進階特性; Body則就是消息體内容
  • Virtual host:虛拟位址,用于進行邏輯隔離,最上層的消息路由.一個Virtual Host裡面可以有若幹個Exchange和Queue,同一個Virtual Host裡面不能有相同名稱的Exchange或Queue
  • Exchange:交換機,接收消息,根據路由鍵轉發消息到綁定的隊列
  • Binding: Exchange和Queue之間的虛拟連接配接,binding中可以包含routing key
  • Routing key:一個路由規則,虛拟機可用它來确定如何路由一個特定消息
  • Queue:也稱為Message Queue,消息隊列,儲存消息并将它們轉發給消費者

6 RabbitMQ整體架構與消息流轉

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

7 安裝

7.1 本節食用指南

  • 官網位址: http://www.rabbitmq.com/
  • 預先準備:安裝Linux必要依賴包
  • 下載下傳RabbitMQ必須安裝包
  • 配置檔案修改

7.2 下載下傳及安裝

7.2.1 Ubuntu環境

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

7.2.2 CentOS7.3

對于初學者,推薦使用一鍵式的RPM安裝方式

  • 注意與 erlang 版本的對應關系!
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

由于筆者使用3.6.5 版本.檢視對應 erlang

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 下載下傳 erlang 環境
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 下載下傳完畢
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • rpm時報錯,缺少依賴
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 解決問題
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 再次 rpm
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 下載下傳 rabbitmq rpm 檔案
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 安裝報錯
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 下載下傳 socat
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 安裝 socat
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 再次安裝 rebbitmq 即可.
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

配置檔案

  • 預設端口号
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 編輯使用者通路權限.
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 修改如下,暫時本地可通路
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

7.2.3 macOS

  • 下載下傳安裝RabbitMQ
// 更新brew資源
  brew update
  // 執行安裝
  brew install rabbitmq           

MQ的安裝目錄在 /usr/local/Cellar/rabbitmq

  • 安裝RabiitMQ的可視化監控插件
// 切換到MQ目錄,注意你的安裝版本可能不是3.7.15
   cd /usr/local/Cellar/rabbitmq/3.7.15/
   // 啟用rabbitmq management插件
   sudo sbin/rabbitmq-plugins enable rabbitmq_management           
  • 配置環境變量
sudo vi /etc/profile
 //加入以下兩行
 export RABBIT_HOME=/usr/local/Cellar/rabbitmq/3.7.4
 export PATH=$PATH:$RABBIT_HOME/sbin
 // 立即生效
 source /etc/profile           
  • 背景啟動rabbitMQ
// 背景啟動
  rabbitmq-server -detached  
  // 檢視狀态
  rabbitmqctl status 
  // 通路可視化監控插件的界面
  // 浏覽器内輸入 http://localhost:15672,預設的使用者名密碼都是guest,登入後可以在Admin那一列菜單内添加自己的使用者
  rabbitmqctl stop 關閉           

8 基本使用

8.1 常用指令

  • 啟動服務
rabbitmq-server start &           
  • 停止服務
rabbitmqctl stop_ app           
  • 管理插件
rabbitmq-plugins enable rabbitmq_ management           

8.2 重新開機操作

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

9 quickstart - 消息的生産與消費

9.1 基本建構缺一不可

  • ConnectionFactory:擷取連接配接工廠
  • Connection:一個連接配接
  • Channel:資料通信信道,可發送和接收消息
  • Queue:具體的消息存儲隊列
  • Producer & Consumer生産和消費者

9.2 實操示範

  • Pro
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • Con
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

由于是Con端才建立有對列,是以必須先啟動Con端,再啟動Pro端!

分别啟動運作

10 指令行與管控台正常操作

10.1 常用指令行

  • rabbitmqctl stop_ app: 關閉應用
  • rabbitmqctl start app: 啟動應用
  • rabbitmqctl status: 節點狀态
  • rabbitmqctl add_ user username password:添加使用者
  • rabbitmqctl list users:列出所有使用者
  • rabbitmqctl delete_ user username:删除使用者
  • rabbitmqctl clear permissions -p vhostpath username:清除使用者權限
  • rabbitmqctl list user_ permissions username:列出使用者權限
  • rabbitmqctl change_ password username newpassword:修改密碼
  • rabbitmqctl set permissions -p vhostpath username
  • ".""."".*": 設定使用者權限
  • rabbitmqctl add vhost vhostpath:建立虛拟主機
  • rabbitmqctl list vhosts: 列出所有虛拟主機
  • rabbitmqctl list_ permissions -p vhostpath:列出虛拟主機上所有權限
  • rabbitmqctl delete vhost vhostpath:删除虛拟主機
  • rabbitmqctl list queues:檢視所有隊列資訊
  • rabbitmqctl -p vhostpath purge_ queue blue:清除隊列裡的消息
  • rabbitmqctl reset:移除所有資料,要在rabbitmqctl stop_ app之後使用
  • rabbitmqctl join_cluster < clusternode > [- -ram] :組成叢集指令
  • rabbitmqctl cluster status: 檢視叢集狀态
  • rabbitmqctl change_ cluster_ node type disc | ram 修改叢集節點的存儲形式
  • rabbitmqctl forget_ cluster_ node [--offline]忘記節點(摘除節點)
  • rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2...]修改節點名稱

實操

  • 檢視端口占用
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • ctl指令
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

10.2 管控台的管理

  • 主界面
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 主界面-監測全部資訊
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 主界面-目前節點的狀态
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 主界面-目前節點一些存儲路徑
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 主界面-端口号集錦
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 主界面-配置檔案的導入導出
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管控台connection界面
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管控台channel界面
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管控台queues界面
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管控台Exchanges界面
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管理者界面-添加使用者
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管理者界面-添加虛拟主機
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 管理者界面-叢集管理
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

13 Exchange交換機

Exchange:接收消息,并根據路由鍵轉發消息所綁定的隊列

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

藍色 - Send Message:把消息投遞到交換機,由路由鍵路由到指定的隊列

13.1 交換機屬性

除交換機類型外,在聲明交換機時還可以附帶許多其他的屬性,其中最重要的幾個分别是:

  • Name:交換機名稱
  • Type:交換機類型direct、topic、 fanout、 headers
  • Durability:是否需要持久化。如果持久化,則RabbitMQ重新開機後,交換機還存在
  • Auto-delete:當最後一個綁定到Exchange 上的隊列删除後,自動删除該Exchange
  • Internal:目前Exchange是否于RabbitMQ内部使用,預設為False

13.2 交換機類型

交換機主要包括如下4種類型:

Direct exchange(直連交換機)

Fanout exchange(扇型交換機)

Topic exchange(主題交換機)

Headers exchange(頭交換機)

另外RabbitMQ預設定義一些交換機:

預設交換機

amq.* exchanges

還有一類特殊的交換機:Dead Letter Exchange(死信交換機)

13.2.1 Direct Exchange

所有發送到DE的消息被轉發到RouteKey中指定的Queue

注意: Direct模式可以使用RabbitMQ自帶的Exchange: default Exchange,是以不需要将Exchange進行任何綁定(binding)操作,消息傳遞時,RouteKey必須完全比對才會被隊列接收,否則該消息會被抛棄.

13.2.2 Direct Exchange原理示意圖

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

13.2.3 Direct Exchange實操示範

  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

注意路由key保持一緻!,分别啟動

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

13.2.2 Topic exchange

盡管使用直接交換改進了我們的系統,它仍然有局限性 - 不能做基于多個标準的路由.

在我們的日志系統中,我們可能不僅要根據嚴重性訂閱日志,還要根據發出日志的源來訂閱日志。你可能從syslog unix工具中了解這個概念,它根據嚴重性(info / warn / crit ...)和facility(auth / cron / kern ...)來路由日志。

這會給我們很多靈活性 - 我們可能想要監聽來自'cron'的關鍵錯誤以及來自'kern'的所有日志。

為了在我們的日志記錄系統中實作這一點,我們需要了解更複雜的主題交換機.

  • *可以比對一個單詞
  • 可以比對零個或多個單詞。

  • 所有發送到Topic Exchange的消息會被轉發到所有關心RouteKey中指

    定Topic的Queue上

  • Exchange将RouteKey和某Topic進行模糊比對,此時隊列需要綁定一個Topic

13.2.2.1 執行個體1

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

在這個例子中,我們将發送所有描述動物的消息。消息将與包含三個單詞(兩個點)的routing key一起發送.

routing key中的第一個單詞描述速度,第二顔色,第三是物種:“。。”。

我們建立了三個綁定:Q1綁定了綁定鍵“ .orange.”,Q2綁定了“..rabbit”和“lazy.#”

這些綁定可以總結為:

  • Q1對所有橙色動物感興趣
  • Q2希望聽到關于兔子的一切,以及關于懶惰動物的一切

routing key設定為“quick.orange.rabbit”的消息将傳遞到兩個隊列。消息“lazy.orange.elephant”也将同時發送給他們.

另一方面

  • “quick.orange.fox”隻會轉到第一個隊列
  • 而“lazy.brown.fox”隻會轉到第二個隊列
  • “lazy.pink.rabbit”将僅傳遞到第二個隊列一次,即使它比對兩個綁定
  • “quick.brown.fox”與任何綁定都不比對,是以它将被丢棄。

如果我們違背我們的約定并發送帶有一個或四個單詞的消息,例如“orange” or “quick.orange.male.rabbit”,會發生什麼?好吧,這些消息将不會比對任何綁定,是以将丢失.

另一方面,“lazy.orange.male.rabbit”,雖然它有四個單詞,也會比對最後一個綁定,并将被傳遞到第二個隊列。

執行個體圖

RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

實操示範

  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 啟動消費者:
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 啟動生産者:
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

消費端收到了消息

  • 修改比對格式,理論上隻能接受前兩個消息
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 注意在管控台,先将之前的比對綁定取消!
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 顯然僅能接受前兩個消息
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

小結

主題交換機功能強大,可以像其他交換機一樣運作。

當隊列綁定“#”(哈希)綁定key時 - 它将接收所有消息,而不管routing key - 就像在fanout交換機一樣

當特殊字元“*”(星号)和“#”(哈希)未在綁定中使用時,主題交換機的行為就像直接交換機一樣。

13.2.3 Fanout Exchange

  • 不處理路由鍵,隻需要簡單的将隊列綁定到交換機上
  • 發送到交換機的消息都會被轉發到與該交換機綁定的所有隊列上
  • Fanout交換機轉發消息是最快的
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 啟動消費端
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 不需要routing key
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 啟動生産者後接收到的消息
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

14 綁定(Binding)

  • Exchange和Exchange、Queue之間的連接配接關系
  • Binding中可以包含RoutingKey或者參數

15 Queue-消息隊列

  • 消息隊列,實際存儲消息資料
  • Durability: 是否持久化,Durable: 是,Transient: 否
  • Auto delete:如選yes,代表當最後一個監聽被移除之後,該Queue會自動被删除.

16 Message-消息

  • 伺服器和應用程式之間傳送的資料
  • 本質上就是一段資料,由Properties和Payload ( Body )組成

16.1 常用屬性

delivery mode、headers (自定義屬性)

content_ type. content_ encoding. priority

correlation id. reply to

expiration - 過期時間

這裡就牽涉到RabbitMQ的TTL機制

message_ id

    1. user id. app_ id. cluster id

  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • Pro,注意TTL為10s
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 接着啟動Pro,Con接收消息
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
  • 現在5條消息,10s後為0消息全部已清除
    RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考
RabbitMQ實戰(二)-基礎概念1 為什麼是你? RabbitMQ2 高性能之源3 AMQP協定4 協定模型5 AMQP核心概念6 RabbitMQ整體架構與消息流轉7 安裝8 基本使用9 quickstart - 消息的生産與消費10 指令行與管控台正常操作13 Exchange交換機可以比對零個或多個單詞。14 綁定(Binding)15 Queue-消息隊列16 Message-消息17 總結參考

17 總結

首先講解網際網路大廠為什麼選擇RabbitMQ? RabbitMQ的高性能之道是如何做到的?什麼是AMPQ進階協定?AMPQ核心概念是什麼?RabbitMQ整體架構模型是什麼樣子的?RabbitMQ消息是如何流轉的?RabbitMQ安裝與使用指令行與管控台,RabbitMQ消息生産與消費,RabbitMQ交換機詳解,RabbitMQ隊列、綁定、虛拟主機、消息等...

通過本文的學習,希望大家對RabbitMQ有一個整體的感覺!

參考

RabbitMQ官網 mac + RabbitMQ 安裝

繼續閱讀