私は最近カフカを学び始め、これらの質問に終わりました。
コンシューマーとストリームの違いは何ですか?私にとって、ツール/アプリケーションがカフカからのメッセージを消費する場合、カフカの世界の消費者です。
これはKafkaからのメッセージを消費または生成するため、Streamはどのように異なりますか?また、コンシューマーAPIを使用して独自のコンシューマーアプリケーションを作成し、必要に応じて処理したり、コンシューマーアプリケーションからSparkに送信したりする必要があるのはなぜですか。
私はこれについてグーグルをやったが、これに対する良い答えは得られなかった。この質問が些細すぎる場合は申し訳ありません。
2018年4月9日の更新:最近では、KafkaのイベントストリーミングデータベースであるksqlDBを使用して、Kafkaでデータを処理することもできます。ksqlDBはKafkaのStreams APIの上に構築されており、「ストリーム」と「テーブル」のファーストクラスのサポートが付属しています。
コンシューマーAPIとストリームAPIの違いは何ですか?
KafkaのStreams API(https://kafka.apache.org/documentation/streams/)は、Kafkaのプロデューサーおよびコンシューマークライアントの上に構築されています。Kafkaコンシューマークライアントよりもはるかに強力で、より表現力があります。Kafka Streams APIの機能の一部を以下に示します。
map
、filter
、reduce
だけでなく、(2)が不可欠スタイルプロセッサのAPIなどが複合イベント処理(CEP)を行うため、および(3)あなたも組み合わせることができますDSLとプロセッサAPI。下位レベルのKafkaコンシューマーとの違いを理解するのにも役立つはずの、Kafka Streams APIのより詳細な概要については、http://docs.confluent.io/current/streams/introduction.htmlを参照してください。クライアント。ありますカフカのストリームAPI用ドッカーベースのチュートリアル、私はについてブログ今週初めには。
では、Kafka Streams APIは、Kafkaからのメッセージを生成したり、Kafkaへのメッセージを生成したりするので、どう違うのですか?
はい、Kafka Streams APIは、データを読み取るだけでなく、Kafkaにデータを書き込むこともできます。
また、コンシューマーAPIを使用して独自のコンシューマーアプリケーションを作成し、必要に応じて処理したり、コンシューマーアプリケーションからSparkに送信したりする必要があるのはなぜですか。
はい、独自のコンシューマーアプリケーションを作成することもできます(前述のように、Kafka Streams APIはKafkaコンシューマークライアント(およびプロデューサークライアント)自体を使用します)。ただし、Streams APIが提供するすべての固有の機能を手動で実装する必要があります。 。「無料」で入手できるすべてのものについては、上記のリストを参照してください。したがって、ユーザーがより強力なKafka Streams APIではなく、低レベルのコンシューマークライアントを選択するのは、かなりまれな状況です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加