RabbitMQ常用的三種模式詳解

2021-08-28 05:09:45 字數 1332 閱讀 2309

rabbit有direct路由模式,topic萬用字元主題訂閱模式,fanout廣播發布模式,下面將逐一詳細的講解三種模式的用法及應用場景。

一、direct路由模式

該方式乙個路由鍵對應乙個訊息佇列,乙個訊息佇列可以對應多個路由鍵,乙個訊息佇列對應乙個消費者,當乙個佇列下有多個消費者時,mq採用的是輪詢機制,選取乙個消費者消費該佇列下的訊息,其他消費者則輪空。該模式給訊息指明了準確的路線,告訴訊息必須按照我制定的路線規則來走,適合於比較簡單的場景,缺點是路由規則不夠靈活。

2.應用場景

單傳送,單接收的簡單的應用場景

二、topic萬用字元主題訂閱模式

基本思想和路由模式是一樣的,只不過路由鍵支援模糊匹配,符號「#」匹配乙個或多個詞,符號「*」匹配不多不少乙個詞,路由規則變得靈活多變,可拓展性非常的強

2.應用場景

①.單傳送,單接收的應用場景

②.多傳送,單接收的應用場景(主要)

三、fanout廣播模式

該模式之所以稱之為廣播模式,是因為他的交換機沒有繫結任何路由規則,交換機直接和佇列相關聯,所有和交換機關聯的佇列都會收到生產者發出的訊息,也就是說該模式的生產者在發出訊息的那一刻並不知道訊息將會發給誰,將會有多少佇列接受訊息,這樣的機制增加了很多的不確定性,但是也給適合該模式的場景提供了很大的便利。

2.應用場景

①單傳送,多接收的應用場景

四、總結

1.topic和direct兩種模式的訊息路線為:生產者–>交換機–>路由鍵–>佇列–>消費者–>訊息處理**類

2.fanout模式的訊息路線為:生產者–>交換機–>佇列–>消費者–>訊息處理**類

3.三種模式佇列下的訊息都採用輪詢機制選取乙個佇列下的眾多消費者中的乙個來消費訊息

五、提出問題

我們可不可以利用現有的三中模式實現下圖中的訊息傳遞機制?

欲知詳情,請看下回分解

RabbitMQ三種交換模式的效能比較

rabbitmq三種交換模式的效能比較 rabbitmq中,所有生產者提交的訊息都由exchange來接受,然後exchange按照特定的策略 到queue進行儲存。rabbitmq提供了四種exchange fanout,direct,topic,header header模式在實際使用中較少,本...

Vim常用的三種功能模式

在vim程式中,用 set 來調整引數 示例 set nu 在每一行前顯示行號 set nonu取消行號顯示 set mouse a顯示滑鼠 set cursorline顯示行線 set顯示與系統預設值不同的設定引數 set all顯示目前所有的環境引數設定值 注意 以上操作只在當前開啟的vim中生...

sql 常用的三種分頁模式

查詢第二頁,每頁十條 1.not in 模式 select top 10 from table1 where guid not in select top 10 from table1 order by guid 2.二次翻轉模式 select top 10 from select top 20 f...