RabbitMQ的工作原理

2021-10-03 16:17:58 字數 1577 閱讀 8843

broker:訊息佇列服務程序,此程序包括兩個部分:exchange和queue。

exchange:訊息佇列交換機,按一定的規則將訊息路由**到某個佇列,對訊息進行過慮。

queue:訊息佇列,儲存訊息的佇列,訊息到達佇列並**給指定的消費方。

producer:訊息生產者,即生產方客戶端,生產方客戶端將訊息傳送到mq。

consumer:訊息消費者,即消費方客戶端,接收mq**的訊息。

訊息發布接收流程:

-----傳送訊息-----

1、生產者和broker建立tcp連線。

2、生產者和broker建立通道。

3、生產者通過通道訊息傳送給broker,由exchange將訊息進行**。

4、exchange將訊息**到指定的queue(佇列)

----接收訊息-----

1、消費者和broker建立tcp連線

2、消費者和broker建立通道

3、消費者監聽指定的queue(佇列)

4、當有訊息到達queue時broker預設將訊息推送給消費者。

5、消費者接收到訊息。

rabbitmq有以下幾種工作模式 :

1、work queues

2、publish/subscribe

3、routing

4、topics

5、header

6、rpc

1 work queues

work queues與入門程式相比,多了乙個消費端,兩個消費端共同消費同乙個佇列中的訊息。

應用場景:對於 任務過重或任務較多情況使用工作佇列可以提高任務處理的速度。

publish/subscribe

工作模式

1、每個消費者監聽自己的佇列。

2、生產者將訊息發給broker,由交換機將訊息**到繫結此交換機的每個佇列,每個繫結交換機的佇列都將接收 到訊息

routing

1, 每個消費者監聽自己的佇列,並且設定routingkey

2、生產者將訊息發給交換機,由交換機根據routingkey來**訊息到指定的佇列。

topics

工作模式

路由模式:

1、每個消費者監聽自己的佇列,並且設定帶統配符的routingkey。

2、生產者將訊息發給broker,由交換機根據routingkey來**訊息到指定的佇列。

header模式

header模式與routing不同的地方在於,header模式取消routingkey,使用header中的 key/value(鍵值對)匹配

佇列rpc

rpc即客戶端遠端呼叫服務端的方法 ,使用mq可以實現rpc的非同步呼叫,基於direct交換機實現,流程如下: 1、客戶端即是生產者就是消費者,向rpc請求佇列傳送rpc呼叫訊息,同時監聽rpc響應佇列。 2、服務端監聽rpc請求佇列的訊息,收到訊息後執行服務端的方法,得到方法返回的結果 3、服務端將rpc方法 的結果傳送到rpc響應佇列 4、客戶端(rpc呼叫方)監聽rpc響應佇列,接收到rpc呼叫結果。

RabbitMQ的工作模式?

rabbitmq的工作模式?五種 簡單模式 乙個生產者,乙個消費者。生產者生產訊息,將訊息傳送到訊息佇列中,消費者從訊息佇列中獲取訊息並消費 work模式 資源競爭 乙個生產者,多個消費者 生產者生產訊息,將訊息傳送到訊息佇列中,多個消費者同時爭搶訊息,只有搶到的 消費者才能消費訊息 訂閱模式 共享...

深入解讀RabbitMQ工作原理及簡單使用

想要真正的了解rabbit有些名詞是你必須知道的。包括 connectionfactory 連線管理器 channel 通道 exchange 交換器 queue 佇列 routingkey 路由鍵 bindingkey 繫結鍵 connectionfactory 連線管理器 應用程式與rabbit...

RabbitMQ工作模式

rabbitmq工作模式有六種 工作佇列模式,發布訂閱模式,路由模式,萬用字元模式,header模式和rpc模式。1.工作佇列模式 2.發布訂閱模式 交換機型別為funout。3.路由模式 交換機型別為direct。路由模式和發布訂閱模式區別 1 發布訂閱模式不需要繫結routingkey,訊息傳送...