rabbitmq不同模式的交換機使用

2022-05-09 07:33:09 字數 762 閱讀 1762

交換機的功能主要是接收訊息並且**到繫結的佇列,交換機不儲存訊息,在啟用ack模式後,交換機找不到佇列會返回錯誤。交換機有四種型別:direct, topic, headers and fanout(headers模式不怎麼使用了,這裡不做介紹)

fanout模式(廣播模式):

會將訊息傳送給所有佇列

fanout模式,消費者將佇列跟交換器進行繫結時,可以不用指定具體的routingkey

direct模式(直連模式):

通過完全匹配routingkey來使交換機與哪個佇列繫結(乙個交換機繫結佇列時,可以有多個routingkey)

topic模式(模糊匹配模式):

模糊匹配routingkey來使交換機與哪個佇列繫結。匹配交換器的匹配符

*(星號)表示乙個單詞

#(井號)表示零個或者多個單詞

如果消費者端的路由關鍵字只使用【#】來匹配訊息,在匹配【topic】模式下,它會變成乙個分發【fanout】模式,接收所有訊息。

如果消費者端的路由關鍵字中沒有【#】或者【*】,它就變成直連【direct】模式來工作。

特殊例子:

消費者端路由關鍵字 "*", 不能接收到生產者端發來路由關鍵字為空的訊息

消費者端路由關鍵字 "#", 能接收到生產者端發來路由關鍵字為空的訊息

消費者端路由關鍵字"#.*", 能接收到生產者端以「..」為關鍵字的訊息, 如果傳送來的訊息只有乙個單詞,不能匹配上

RabbitMQ訊息交換模式簡介

rabbitmq是amqp的乙個典型實現,它訊息發布者的訊息發布到exchange上,同時需要制定routingkey,可以通過指定交換機的不同模式實現不同的行為。direct模式 點對點通訊 direct exchange是rabbitmq預設的交換機模式,也是最簡單的模式,根據key全文匹配去尋...

RabbitMQ 交換機模式

在說正題之前先解釋一下交換機模式是個籠統的稱呼,它不是乙個單獨的模式 包括了訂閱模式,路由模式和主題模式 交換機模式是乙個比較常用的模式,主要是為了實現資料的同步。首先,說一下訂閱模式,就和字面上的意思差不多主要就是乙個生產者,多個消費者,同乙個訊息被多個消費者獲取,先看一下官網的圖示 整體執行過程...

RabbitMQ之Direct交換器模式開發

dirtct交換器,即發布與訂閱模式,匹配規則為完全匹配。配置檔案 2 spring.rabbitmq.host 192.168.50.30 3 spring.rabbitmq.port 5672 4 spring.rabbitmq.username rabbit 5 spring.rabbitmq...