RabbitMQ のこれら 2 種類のメッセージが混同してしまいます。
一部のキューには「未確認」メッセージが 0 件、 「準備完了」メッセージが 1000 件含まれており、一部のキューには「未確認」メッセージが 1000 件、 「準備完了」メッセージが 0 件含まれていることがわかりました。
それらの違いは何ですか?
また、消費者がどれだけのメッセージを読んだかを知るにはどうすればよいですか?
ベストアンサー1
メッセージは準備ができて処理を待機しているとき。
コンシューマーがキューに接続すると、処理するメッセージのバッチが取得されます。量はプリフェッチ サイズで指定されます。このコンシューマーがメッセージを処理している間、ステータスは unacked になります。
未確認これは、コンシューマーがメッセージを処理すると約束したが、処理されたことを確認していないことを意味します。コンシューマーがクラッシュした場合、キューはコンシューマーがオンラインになったときにどのメッセージが再度配信されるかを認識します。複数のコンシューマーがある場合、メッセージはそれらの間で分散されます。