1. ホーム
  2. java

[解決済み] Java, apache kafkaのトピックに含まれるメッセージ数を取得する方法

2022-05-18 05:56:59

質問

メッセージングにapache kafkaを使用しています。Javaでproducerとconsumerを実装しています。 トピック内のメッセージの数を取得するにはどうすればよいですか?

どのように解決するのですか?

コンシューマの観点からこのために思いつく唯一の方法は、実際にメッセージを消費して、その時にカウントすることです。

Kafkaブローカーは、起動時から受信したメッセージ数のJMXカウンターを公開していますが、そのうちのいくつがすでにパージされたかを知ることはできません。

ほとんどの一般的なシナリオでは、Kafka のメッセージは無限のストリームと見なすのが最善で、現在ディスクに保持されている数の離散値を取得することは適切ではありません。さらに、トピック内のメッセージのサブセットをすべて持っているブローカーのクラスターを扱う場合、物事はより複雑になります。