RabbitMQ 三 訊息訂閱模式

2021-10-09 08:53:57 字數 656 閱讀 3158

佇列1繫結"*.user.*",表示其只關注使用者相關的訊息。

佇列2繫結"*.*.order",表示其只關注訂單相關的訊息。

佇列3繫結"svip.#",表示其只關注svip使用者相關的訊息。

當傳送訊息指定"vip.user.order"時,因為佇列1與佇列2能匹配,所以會被傳送到佇列1、2中。

如果傳送資訊為"common.user.pay"時,就只有佇列1能匹配,且將訊息傳送到佇列1。

但是如果我們違反約定,傳送了只帶1個或者4個表示符的選擇鍵,那交換機將會怎樣去處理呢?

當傳送訊息選擇鍵為"test"時,所有佇列都選擇鍵因為不滿足自己的匹配規則而不接受,此時訊息丟棄。

當傳送訊息選擇鍵為"test.test1.test2.order"時,儘管有四個識別符號,但是能被佇列2的規則匹配。

rabbitmq 發布訂閱模式

上篇我們已經講過了工作模式和簡單模式的用法。而這節我們就要開始講一下後面三種的第一種,在我們平常開發中,其實用的比較多的是後面的這三種。發布訂閱模式 英文叫publish subscribe,發布訂閱模式也稱為廣播模式,在exchange下屬於fanout模式。廣播,大家應該都知道吧,在mq中,其實...

RabbitMQ之訂閱模式

rabbitmq之訂閱模式簡介 乙個生產者,多個消費者 每乙個消費者都有自己的佇列 生產者沒有直接將訊息傳送到佇列中去,而是傳送到了交換機或者 器 exchange 中 每個佇列都要繫結到交換機上 生產者傳送的訊息,經過互動機到達佇列就能實現乙個訊息被多個消費者消費 參考 生產者 訂閱模式 auth...

RabbitMQ發布 訂閱模式

1 生產者 package com.ys.ps import com.rabbitmq.client.channel import com.rabbitmq.client.connection import com.ys.utils.connectionutil create by ysocean ...