RocketMQ-什么是死信队列?怎么解决
生活随笔
收集整理的這篇文章主要介紹了
RocketMQ-什么是死信队列?怎么解决
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
什么是死信隊列
死信隊列的特征
死信消息的處理
什么是死信隊列
????????當一條消息初次消費失敗,消息隊列會自動進行消費重試;達到最大重試次數(shù)后,若消費依然失敗,則表明消費者在正常情況下無法正確地消費該消息,此時,消息隊列不會立刻將消息丟棄,而是將其發(fā)送到該消費者對應(yīng)的特殊隊列中。這個隊列就是死信隊列(Dead-Letter Queue,DLQ),而其中的消息則稱為死信消息(Dead-Letter Message,DLM)。 死信隊列是用于處理無法被正常消費的消息的。死信隊列的特征
死信隊列具有如下特征: ????????死信隊列中的消息不會再被消費者正常消費,即DLQ對于消費者是不可見的 ????????死信存儲有效期與正常消息相同,均為 3 天(commitlog文件的過期時間),3 天后會被自動刪除 ????????死信隊列就是一個特殊的Topic,名稱為%DLQ%consumerGroup@consumerGroup ,即每個消費者組都有一個死信隊列 ????????如果?個消費者組未產(chǎn)生死信消息,則不會為其創(chuàng)建相應(yīng)的死信隊列死信消息的處理
????????實際上,當?條消息進入死信隊列,就意味著系統(tǒng)中某些地方出現(xiàn)了問題,從而導(dǎo)致消費者無法正常消費該消息,比如代碼中原本就存在Bug。因此,對于死信消息,通常需要開發(fā)人員進行特殊處理。最關(guān)鍵的步驟是要排查可疑因素,解決代碼中可能存在的Bug,然后再將原來的死信消息再次進行投遞消費。總結(jié)
以上是生活随笔為你收集整理的RocketMQ-什么是死信队列?怎么解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RocketMQ-控制台的安装与启动
- 下一篇: RocketMQ-手把手教你搭建集群