Linux

查看rabbitmq未確認消息

  • June 8, 2016

我們有一個 rabbitmq 集群,它從一個應用程序接收消息,然後被第二個應用程序接收。我們遇到了一個問題,我們的隊列中有大量“未確認”消息。我們總共有三台伺服器執行第二個應用程序並重新啟動了所有伺服器,但未接收到未確認的消息。我們收到一個錯誤,看起來像是我們的程式碼有問題(我們正在單獨研究)。

在做了一些研究之後,我們意識到這些消息可能已經發送但沒有正確確認。我們想知道是否有一種方法可以查看類似於就緒隊列中的未確認消息,以便我們進一步調查。

我們發現了一些對我們有幫助的東西。

首先,我們創建了一個包羅萬象的隊列來收集所有事件並將它們保存在就緒隊列中,這樣我們就可以弄清楚發生了什麼。事實證明,一位生產者正在發送無效消息。我們關閉了這個生產者並觀察到所有新消息看起來都很好並且正在處理中。

其次,我們在短時間內關閉所有消費者(在我們的環境中很好)。這導致所有消息從未確認移動到就緒。此時我們可以查看並看到它們都是無效的。由於它們在就緒隊列中,我們能夠刷新隊列。

引用自:https://serverfault.com/questions/782211