5
私はカフカと協力してデータを消費しようとしています。下の行から、カフカのデータをポーリングできます。カフカ消費者ポーリングタイムアウト
while (true) {
ConsumerRecords<byte[], <byte[]> records = consumer.poll(Long.MAX_VALUE);
for (ConsumerRecord<byte[], <byte[]> record : records) {
// retrieve data
}
}
私の質問は、私は私がタイムアウトとして200
提供する場合に比べて、タイムアウトとしてLong.MAX_VALUE
を提供することにより、取得しています利点は何かということです。生産を実行するシステムのベストプラクティスは何ですか。
誰でも私にハイタイムアウトとロータイムアウトの違いを説明することができますか、それとも本番システムで使用する必要がありますか?
ありがとうございます。待機するのではなく、より低い価値を設定すると、できることは何ですか?私はこれのためのシナリオを考えることができません。タイムアウト値を低く設定すれば、プロダクションシステムで何ができるのか、それともやるべきなのか理解できますか?あなたは何をお勧めしますか? – john
フラグを使用してループを中断したい場合や、実行するループの外側で定期的な作業をしたい場合。 KafkaConsumerは、コンシューマースレッドを中断するためのウェイクアップメソッドを提供しています。実際には、長いポーリングタイムアウトを使用してもこれを達成できます。 – amethystic
ええ、しかし、私の質問は、長いタイムアウトを待つのではなく、人々がすることは何ですか?人々が大事にするケースはありますか? – john