消息交換模式RabbitMQ簡介

 更新時間:2022年07月02日 15:33:04   作者:天方  
這篇文章簡單介紹了消息交換模式RabbitMQ,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

RabbitMQ是AMQP的一個典型實現,它消息發布者的消息發布到Exchange上,同時需要制定routingkey,可以通過指定交換機的不同模式實現不同的行為。

RabbitMQ提供了四種Exchange:fanout,direct,topic和header。其中header模式在實際使用中較少,本文只對前三種模式進行比較。

Direct模式(點對點通訊):

Direct Exchange是RabbitMQ默認的交換機模式,也是最簡單的模式,根據key全文匹配去尋找隊列。規則如下:

發布到exchange的消息通過routingkey的完全匹配發布到queue上。如果routingkey不存在,則丟棄

點對點方式是最為傳統和常見的通訊方式,它支持一對一、一對多、多對多、多對一等多種配置方式,支持樹狀、網狀等多種拓撲結構。

fanout模式(多點廣播):

fanout模式比較簡單,廣播式的,無視routingkey直接發送給所有的queue

Topic模式(發布/訂閱):

任何發送到Topic Exchange的消息都會被轉發到所有關心RouteKey中指定話題的Queue上

  • 這種模式較為復雜,簡單來說,就是每個隊列都有其關心的主題,所有的消息都帶有一個"標題"(RouteKey),Exchange會將消息轉發到所有關注主題能與RouteKey模糊匹配的隊列。

  • 這種模式需要RouteKey,也許要提前綁定Exchange與Queue。

  • 在進行綁定時,要提供一個該隊列關心的主題,如"#.log.#"表示該隊列關心所有涉及log的消息(一個RouteKey為"MQ.log.error"的消息會被轉發到該隊列)。

  • "#"表示0個或若干個關鍵字,""表示一個關鍵字。如"log."能與"log.warn"匹配,無法與"log.warn.timeout"匹配;但是"log.#"能與上述兩者匹配。

  • 同樣,如果Exchange沒有發現能夠與RouteKey匹配的Queue,則會拋棄此消息。

到此這篇關于消息交換模式RabbitMQ的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 科學知識:時間復雜度計算方法

    科學知識:時間復雜度計算方法

    這篇文章主要介紹了科學知識:時間復雜度計算方法,本文介紹了問題的定義、時間復雜度計算步驟、時間復雜度計算規則等內容,需要的朋友可以參考下
    2015-05-05
  • 詳情解析TCP與UDP傳輸協議

    詳情解析TCP與UDP傳輸協議

    本文通過講解TCP與UDP傳輸協議傳輸數據是的過程及詳細介紹什么是 socket及現在我么們和大家一起來學習吧
    2021-08-08
  • VSCode?Web?IDE?Coder?安裝及使用

    VSCode?Web?IDE?Coder?安裝及使用

    Coder是VS?Code的Web?IDE,分Code?Server?和?Coder,Code?Server安裝在服務器上,通過瀏覽器打開地址后可以使用一個web版的VS?Code,也就是Coder,但VS?Code的插件無法使用。這篇文章主要介紹了VSCode?Web?IDE?Coder?安裝及使用,需要的朋友可以參考下
    2021-12-12
  • 詳細解析Webpack是怎么運行的

    詳細解析Webpack是怎么運行的

    這篇文章主要介紹了Webpack是怎么運行的,打包順序是怎樣的,非?;A且非常重要的知識點
    2020-02-02
  • Matlab使用Plot函數實現數據動態顯示方法總結

    Matlab使用Plot函數實現數據動態顯示方法總結

    這篇文章主要介紹了Matlab使用Plot函數實現數據動態顯示方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • WebStorm安裝配置教程

    WebStorm安裝配置教程

    WebStorm 是jetbrains公司旗下一款JavaScript開發工具,這篇文章主要為大家詳細介紹了WebStorm安裝教程,文中安裝步驟非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • git用戶自定義變量查看修改及調用教程詳解

    git用戶自定義變量查看修改及調用教程詳解

    這篇文章主要為大家介紹了git用戶自定義變量查看修改及調用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • windows開發記事本程序紀實(二)邏輯篇1

    windows開發記事本程序紀實(二)邏輯篇1

    從本節開始介紹windows開發實現記事本程序的邏輯實現部分。本節的主要內容有以下3點:1. 主窗口定義2. RichEdit控件的選用及初始化3. 整個程序ICON的選擇
    2014-08-08
  • 最新IDEA永久激活教程(支持最新2019.2版本)

    最新IDEA永久激活教程(支持最新2019.2版本)

    這篇文章主要介紹了最新IDEA永久激活教程,此教程已支持最新2019.2版本,適用Windows、Mac、Ubuntu等所有平臺,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 解決appcode打開workspace無法找到xcodeproj項目文件問題

    解決appcode打開workspace無法找到xcodeproj項目文件問題

    這篇文章主要介紹了解決appcode打開workspace無法找到xcodeproj項目文件問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論

美丽人妻被按摩中出中文字幕