死信處理和優先順序

2022-06-19 08:57:20 字數 1712 閱讀 6887

何為dead letter

max_length:

1)queue長度限制 【mongodg oplog】就是乙個固定集合

2)queue中的message過期時間

3)basicreject basicnack等等

一、dead letter exchange

有時候我們不希望message被drop掉,而是走到另外乙個佇列中,又或者是儲存起來

二、dead letter routing key

打到exchange中去的時候,確定routingkey的值

**演示如下:

1、生產者

//基礎配置

connectionfactory factory = new connectionfactory()

;//第一步:建立connection

using (var connection = factory.createconnection()),,

});for (int i = 0; i < 15; i++)

", i)));}}

}console.writeline("生產成功!");

console.readkey();

2、消費者

//建立連線工廠

connectionfactory factory = new connectionfactory

;//第一步:建立connection

using (var connection = factory.createconnection())

;channel.basicconsume("mydead_queue",true, consumer);

console.readkey();

}}

三、maximum priority

優先順序載入佇列上,就是乙個優先順序佇列 【堆,大根堆,小根堆】

1、給佇列貼上乙個優先順序的標籤 x-max-priority=10

2、給message打上具體的優先順序的value value<=10

**演示:

1、生產者

//基礎配置

connectionfactory factory = new connectionfactory()

;//第一步:建立connection

using (var connection = factory.createconnection())

});var properties = channel.createbasicproperties();

for (int i = 0; i < 10; i++)

", i)));}}

}console.writeline("生產成功!");

console.readkey();

2、消費者

//建立連線工廠

connectionfactory factory = new connectionfactory

;//第一步:建立connection

using (var connection = factory.createconnection())

;channel.basicconsume("mytest", true, consumer);

console.readkey();

}}

RabbitMQ之死信佇列 延遲佇列 優先順序佇列

從機制上看,rabbitmq除了有topic和queue的概念,發訊息的時候要指定訊息的key,這個key之後會做路由key使用 還有乙個概念叫做交換機exchange,exchange有四種,drdirect fanout topic header。就是說發訊息給rabbitmq時,訊息需要有個k...

Linux程序優先順序和調整優先順序

linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...

python優先順序佇列 python 優先順序佇列

簡介 優先順序佇列是基於堆的,關於堆的時候可以參考文章堆,優先順序佇列就是入隊時,會分配乙個優先順序,之後出隊時,根據優先順序出列。如,入隊時 4,a 6,r 3 d 則出隊順序 6,r 4,a 3 d 優先順序佇列的python實現 class priorityqueue object def i...