タグ付けされた質問 「kafka-consumer-api」

3
Kafkaのトピックとパーティションについて
エンタープライズソリューションの目的でKafkaを学び始めています。 私の読書中に、いくつかの質問が私の頭に浮かびました: プロデューサーがメッセージを生成しているとき-メッセージを送信したいトピックを指定します、そうですか?パーティションを気にしますか? サブスクライバーが実行中の場合、サブスクライバーはグループIDを指定して、同じトピックのコンシューマーのクラスターの一部になることができますか? 各コンシューマーグループには、ブローカーに対応するパーティションがありますか、それとも各コンシューマーにはパーティションがありますか? パーティションはブローカーによって作成されているので、コンシューマーには関係ありませんか? これは各パーティションのオフセットを持つキューなので、どのメッセージを読みたいかを指定するのはコンシューマーの責任ですか?状態を保存する必要がありますか? メッセージがキューから削除されるとどうなりますか?-例:保持が3時間で、その後時間が経過した場合、オフセットは両側でどのように処理されますか?

2
Kafka:コンシューマーAPIとストリームAPI
私は最近カフカを学び始め、これらの質問に行き着きました。 コンシューマーとストリームの違いは何ですか?私にとって、ツール/アプリケーションがKafkaからのメッセージを消費する場合、Kafkaの世界の消費者です。 これはKafkaからのメッセージを消費したり、Kafkaへのメッセージを生成したりするため、Streamはどのように異なりますか?また、Consumer APIを使用して独自のコンシューマーアプリケーションを作成し、必要に応じて処理したり、コンシューマーアプリケーションからSparkに送信したりできるのに、なぜ必要なのですか? 私はこれについてグーグルをしましたが、これについて良い答えは得られませんでした。この質問が些細なことである場合は申し訳ありません。

2
Kafkaへのメッセージ送信の一部としてキーが必要ですか?
KeyedMessage<String, byte[]> keyedMessage = new KeyedMessage<String, byte[]>(request.getRequestTopicName(), SerializationUtils.serialize(message)); producer.send(keyedMessage); 現在、キー付きメッセージの一部として、キーなしのメッセージを送信していますが、それでも動作しdelete.retention.msますか?メッセージの一部としてキーを送信する必要がありますか?メッセージの一部としてキーを作成するのは良いことですか?

2
メッセージの処理が失敗した場合、同じメッセージを再度消費します
Confluent.Kafka .NETクライアントバージョン1.3.0を使用しています。私はドキュメントに従っています: var consumerConfig = new ConsumerConfig { BootstrapServers = "server1, server2", AutoOffsetReset = AutoOffsetReset.Earliest, EnableAutoCommit = true, EnableAutoOffsetStore = false, GroupId = this.groupId, SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain, SaslUsername = this.kafkaUsername, SaslPassword = this.kafkaPassword, }; using (var consumer = new ConsumerBuilder<Ignore, string>(consumerConfig).Build()) { var cancellationToken = new CancellationTokenSource(); …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.