RabbitMQ" 「Ready」および「Unacked」タイプのメッセージとは何ですか? 質問する

RabbitMQ

RabbitMQ のこれら 2 種類のメッセージが混同してしまいます。

一部のキューには「未確認」メッセージが 0 件、 「準備完了」メッセージが 1000 件含まれており、一部のキューには「未確認」メッセージが 1000 件、 「準備完了」メッセージが 0 件含まれていることがわかりました。

それらの違いは何ですか?

また、消費者がどれだけのメッセージを読んだかを知るにはどうすればよいですか?

ベストアンサー1

メッセージは準備ができて処理を待機しているとき。

コンシューマーがキューに接続すると、処理するメッセージのバッチが取得されます。量はプリフェッチ サイズで指定されます。このコンシューマーがメッセージを処理している間、ステータスは unacked になります。

未確認これは、コンシューマーがメッセージを処理すると約束したが、処理されたことを確認していないことを意味します。コンシューマーがクラッシュした場合、キューはコンシューマーがオンラインになったときにどのメッセージが再度配信されるかを認識します。複数のコンシューマーがある場合、メッセージはそれらの間で分散されます。

おすすめ記事