0
私は、50人のコンシューマとプリフェッチ数が約100のキューを持っています。すべてのコンシューマは、単一のJVMインスタンスからのものです。したがって、アプリケーションが停止すると、メッセージはREADY状態になりました。準備完了状態のメッセージ数は(prefetch_count *消費者数)と同じです。Rabbitmqの準備完了メッセージと未解決メッセージ
これで、READY状態のメッセージはどうなりますか?それが再配信されるのか、それとも死んだのだろうか?
ありがとうございました!それはいつ再配送されますか?このシナリオを考えてみましょう。Javaの2つのインスタンスがそれぞれ50個のコンシューマとしてキューに登録され、プリフェッチ・カウントが100程度になったときに考えてみましょう.1つのJavaインスタンスがダウンするとします。デッド・インスタンスによって消費されるメッセージは、READY状態です。これらのメッセージはどうなりますか?それはいつ再配送されますか? – Thiru
ブローカが接続がクローズされたことを検出すると、UNACKEDであるすべてのメッセージがREADYに戻されます。障害の発生時にREADYであったメッセージ(未実装ではない - コンシューマ・プリフェッチの両方が満杯だったため)は、キューに入れられたメッセージの後に処理されます。 –