RabbitMQ死信隊列-概念及來源
1. 死信的概念
先從概念解釋上搞清楚這個定義,死信,顧名思義就是無法被消費的消息,字面意思可以這樣理解,一般來說,producer 將消息投遞到 broker 或者直接到queue 里了, consumer 從 queue 取出消息進行消費,但某些時候由于特定的原因導致 queue 中的某些消息無法被消費,這樣的消息如果沒有后續的處理,就變成了死信,有死信自然就有了死信隊列。
應用場景:為了保證訂單業務的消息數據不丟失,需要使用到 RabbitMQ 的死信隊列機制,當消息消費發生異常時,將消息投入死信隊列中。還有比如說::用戶在商城下單成功并點擊去支付后在指定時間未支付時自動失效。
2. 死信的來源
- 消息 TTL 過期
- 隊列達到最大長度(隊列滿了,無法再添加數據到 mq 中)
- 消息被拒絕(basic.reject 或 basic.nack)并且 requeue=false

浙公網安備 33010602011771號