タグ付けされた質問 「apache-kafka-streams」

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

1
Kafkaは、グローバルストアを追加するためのユースケースをストリーミングします
kafkaストリームでトポロジを定義するときに、グローバルステートストアを追加できます。ソーストピックとが必要になりますProcessorSupplier。プロセッサーはレコードを受け取り、それらをストアに追加する前に理論的に変換できます。ただし、復元の場合、レコードはソーストピック(変更ログ)からグローバル状態ストアに直接挿入され、プロセッサで行われる最終的な変換はスキップされます。 +-------------+ +-------------+ +---------------+ | | | | | global | |source topic -------------> processor +--------------> state | |(changelog) | | | | store | +-------------+ +-------------+ +---------------+ | ^ | | +---------------------------------------------------------+ record directly inserted during restoration StreamsBuilder#addGlobalStore(StoreBuilder storeBuilder、String topic、Consumed consumer、ProcessorSupplier stateUpdateSupplier)グローバルStateStoreをトポロジに追加します。 ドキュメントに従って 注:変換されたレコードをグローバルステートストアに挿入するためにプロセッサを使用しないでください。このストアは、ソーストピックを変更ログとして使用し、復元時にソースから直接レコードを挿入します。このProcessorNodeは、StateStoreを最新の状態に保つために使用する必要があります。 並行して、主要なバグが現在カフカバグトラッカーで開かれています。ドキュメントに記載されている内容を正確に説明するトピックから状態を復元する場合、addGlobalStoreで提供されるKAFKA-7663カスタムプロセッサは使用されませんが、受け入れられたバグのようです。 KAFKA-7663が本当にバグかどうか疑問に思っています。ドキュメントによると、このように設計されているようです。その場合、ユースケースを理解するのに苦労します。 誰かがこの低レベルAPIの主な使用例を説明できますか?私が考えることができる唯一のことは、たとえばプロセッサでいくつかのログ操作を行うなどの副作用を処理することです。 おまけの質問:ソーストピックがグローバルストアの変更ログとして機能する場合、保存期間が切れたためにトピックからレコードが削除されると、グローバルステートストアから削除されますか?または、変更ログからストアを完全に復元した後にのみ、ストアで削除が行われますか?

2
カフカストリームのべき等性と1回限りの違い
有効にすることで正確に1回のトランザクションを達成できることを理解した文書を調べていました idempotence=true べき等性:べき等プロデューサーは、単一のトピックに対してプロデューサーに対して一度だけ有効にします。基本的に、各単一メッセージ送信にはより厳しい保証があり、エラーが発生した場合に重複することはありません それで、すでにべき等性がある場合、カフカストリームで正確に一度だけ別のプロパティが必要なのはなぜですか?べき等と1回だけの違い 正確に1回限りのプロパティが通常のカフカプロデューサーで利用できないのはなぜですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.