RabbitMQ 二 簡單佇列

2022-01-11 08:37:44 字數 1400 閱讀 3973

參考:

簡單佇列的模型:

p : 生產者,即 producer

c : 消費者,即 consumer

"hello" : 訊息

紅色方塊即佇列

首先新建乙個工具類,方便獲取連線.

public

static

class

connectionhelper

;return

factory.createconnection();}}

建立乙個生產者

///

///生產者

/// public

class

producer

");}}}

}

建立乙個消費者

///

///消費者

/// public

class

consumer

byte bytes =res.body;

string msg =encoding.default.getstring(bytes);

console.writeline($

"receive ");}}

}}

執行結果:

下面對一些方法的部分引數做下解釋:

文章開頭提到的簡單佇列的模型中,沒有交換機,這裡的交換機名稱我們傳入的也是空字串,

但是,這不代表就沒有使用交換機.

實際上,系統會為每個佇列都隱式的繫結乙個預設的交換機,交換機的名稱為「(amqp default)」,型別為直連線 direct,當你手動建立乙個佇列時,後台會自動將這個佇列繫結到乙個名稱為空的direct型別交換機上,繫結路由名稱與佇列名稱相同,所以這裡雖然沒有顯示宣告交換機,但路由鍵和佇列名稱一樣,所以系統就將訊息傳送到這個預設的交換機裡。有了這個預設的交換機和繫結,我們就可以像其他輕量級的佇列,如redis那樣,直接操作佇列來處理訊息。不過理論上是可以的,但實際上在rabbitmq裡直接操作是不可取的。訊息始終都是先傳送到交換機,由交換級經過路由傳送給佇列,消費者再從佇列中獲取訊息的。不過由於這個預設交換機和路由的關係,使我們只關心佇列這一層即可,這個比較適合做一些簡單的應用,畢竟沒有發揮rabbitmq的最大功能(rabbitmq可以重量級訊息佇列),如果都用這種方式去使用的話就真是殺雞用宰牛刀了。

參考:

RabbitMQ 二 簡單佇列

參考 簡單佇列的模型 p 生產者,即 producer c 消費者,即 consumer hello 訊息 紅色方塊即佇列 首先新建乙個工具類,方便獲取連線.public static class connectionhelper return factory.createconnection 建立...

RabbitMQ 一二事 簡單佇列使用

訊息佇列目前流行的有三種 1.rabbitmq 2.activemq 3.kafka 這三種都非常強大,rabbitmq目前用的比較多,也比較流行,阿里也在用 activemq是阿帕奇出品,但是效能上和rmq相比相對差一些 卡夫卡呢,使用場景不同,不多介紹,主要是用於日誌收集方面,結合hadoop非...

rabbitmq學習二 佇列

require once dir vendor autoload.php use phpamqplib connection amqpstreamconnection use phpamqplib message amqpmessage 1.鏈結伺服器 connection new amqpstre...