c 死信佇列demo

2021-09-25 09:37:42 字數 985 閱讀 9943

什麼是死信佇列呢?舉個栗子,把任務設定好過期時間放到乙個佇列中,等到過期時間到通過交換器,放置到另乙個消費佇列中。這個栗子只是死信佇列的一種應用,原理就是這樣:有兩個佇列,乙個用來設定過期條件的佇列(可以是單挑訊息設定,也可以是整個佇列設定),另乙個佇列是用來接受已經過期的訊息,通過配置交換器來接受。

死信佇列能幹什麼呢?首先我們明白死信佇列原理是什麼,那麼我們就可以利用它的特性。如再訂單業務延時取消 ,超時未發貨自動取消,訂單取消前半小時通知提醒等,具有延時任務的地方。

下面來看demo 生產者

using rabbitmq.client;

using rabbitmq.client.events;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace mqquartz}}

}}

消費者

using rabbitmq.client;

using rabbitmq.client.events;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace consumer

", message);

channel.basicack(ea.deliverytag, false);

};consumer.handlebasicconsumeok("ok");

console.readline();}}

}}

}

RabbitMq死信佇列

死信交換機有什麼用呢?在建立佇列的時候 可以給這個佇列附帶乙個交換機,那麼這個佇列作廢的訊息就會被重新發到附帶的交換機,然後讓這個交換機重新路由這條訊息。通俗的說,就是訊息產生之後,因為設定了超時時間,在這段時間內訊息沒有被消費就會被扔到死信佇列裡面。交換機名稱 private static fin...

rabbitmq死信佇列

死信佇列 dlx dead letter exchange 利用dlx,當訊息在乙個佇列中變成死信 dead message 之後,它能重新publish到另外乙個exchange,這個exchange就是dxl 訊息變成死信的幾種情況 訊息被拒絕 basic.reject basic.nack 並...

rabbitmq死信佇列

概念 當訊息成為死信時,會將該訊息放到死信交換機當中,這個交換機也繫結的其他佇列,還可以繼續進行消費。訊息什麼時候會變成死信 在配置檔案宣告佇列時指定死信交換機的名稱和死信交換機的路由key key x dead letter exchange value 死信交換機名稱 key x dead le...