簡體   English   中英

Rabbitmq 消費者不消費消息

[英]Rabbitmq consumer not consuming messages

我有 120 個 kube.netes pod,它們連接到相同的 rabbitmq 隊列並使用消息(全部相同的 python 代碼)。 當隊列中有消息時,消費者 pod 會觸發。

我在隊列中有數千條消息,但並非所有消費者都收到消息。 如果我重新啟動 pod,有時它會開始使用消息,有時則不會。

在 rabbitmq 管理上,我看到 120 個狀態為 up 的活躍消費者。 一切看起來都很好。 但並非所有消費者都真正工作。

可能是什么問題? 或者我怎樣才能進一步檢查?

謝謝!

文檔幫助您了解更多消息消費

查看消費者代碼,因為它可能正在運行但卡在 RabbitMQ 異常中,我建議消費者由於使用“RabbitMQ.Client”而無法使用排隊消息的問題。使用“QueueingBasicConsumer”使消息出隊,隊列突然關閉甚至盡管消費者正在運行並且在系統中。IO.EndOfStreamException

“自動確認”是 basicConsume 方法的第二個參數。 如果這個參數設置為true,消費者會立即通知RabbitMQ消息已經被確認。

即使 basicQos 設置為 1,一旦 autoAck 設置為 true,消費者幾乎肯定會從隊列中收到下一條可用消息。 發生這種情況是因為客戶立即降低了第一個限制以指示它不再有消息並且可以接受下一個消息。

與基本 QoS 設置 1 結合使用時,將自動確認參數更改為 false 可防止出現此問題。

有關詳細信息,請參閱此堆棧鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM