RabbitMQ高階特性 死信佇列

2021-10-21 10:47:29 字數 519 閱讀 8227

死信佇列,英文縮寫:dlx 。dead letter exchange(死信交換機),當訊息成為dead message後,可以被重新傳送到另乙個交換機,這個交換機就是dlx。

死信交換機和死信佇列和普通的沒有區別,當訊息成為死信後,如果該佇列繫結了死信交換機,則訊息會被死信交換機重新路由到死信佇列

訊息成為死信的三種情況:

①佇列訊息長度到達限制;

②消費者拒接消費訊息,basicnack/basicreject,並且不把訊息重新放入原目標佇列,requeue=false;

③原佇列存在訊息過期設定,訊息到達超時時間未被消費;

佇列繫結死信交換機引數 x-dead-letter-exchange 死信交換機和死信佇列繫結的routingkey

和 x-dead-letter-routing-key 傳送訊息時指定的routingkey

檔案打包

RabbitMQ高階特性

所謂訊息的可靠性就是保證訊息生產者傳送訊息後,消費者收到的訊息與傳送的訊息保證一致,同時確保訊息不會丟失.對於這種情況更好的方式就是使用以下兩種方式 1.確認模式 對於確認模式,就是生產者將訊息傳送給交換機時,會返回乙個confirmcallback 配置檔案如下 在配置檔案中需要申明交換機,佇列,...

RabbitMq死信佇列

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

rabbitmq死信佇列

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