2016-07-01 7 views
1

"Kafka Spout"と "Kafka Consumer"の両方がKafka Brokersからデータを取得していますが、今まで私が知っているスパウトはStormと通信するためのもので、Consumerは他のものと一緒です。「カフカ・スパウト」と「カフカ・コンシューマー」の違いは何ですか?

でも、技術的にどのような違いがありますか?

- または何が違うのですか?コンシューマーを使用してデータを取り出し、「Storm Spout」を使用してそれを受信し、「Kafka Spout」を使用した場合、それをStorm Topology BuilderのsetSpout ();機能

- および消費者を使用するか、カフカスパウト

答えて

3

A /「カフカスパウトは、」嵐のトポロジにカフカからデータを読み込むための嵐固有のアダプターです。カフカの噴出口の裏側には、実際にはカフカの内蔵「カフカ消費者」クライアントが使われています。

技術的には、カフカの吐き出し口は、カフカのコンシューマクライアントの一種であるストーム対応の「ラッパー」のようなものです。

ストームでは、通常、常にカフカのスパウトを使用する必要があります(https://github.com/apache/storm/tree/master/external/storm-kafkaを参照)。または、カフカのいわゆる「新しい」コンシューマクライアントを使用するスパウトの実装にはhttps://github.com/apache/storm/tree/master/external/storm-kafka-clientを使用してください。ストームプロジェクトがバグを上流に修正するまで回避する必要がある既存のカフカの噴出口にバグがある場合、おそらく最も可能性の高いケースです。

+0

ありがとうございます!それは今、明らかに今、 しかし、私は2つの少し質問を得た (1) - KafkaSpoutクラスは、基本/豊富なスパウトを拡張する必要がありますか? (2) - KafkaSpoutsはStorm対応のラッパーであるため、「カフカ消費者」から同じデータを受け取る「嵐の噴出口」に代わるものですか?とにかく "嵐の噴出口"が存在するはずですか? つまり、(プロデューサー→ブローカー→kafkaSpout->ボルト→ビルドトポロジー) またはそれ(プロデューサー→ブローカー→kafkaSpout-> stormSpout->ボルト→ビルドトポロジー) –

+0

FWIW、両方のカフカのスパウトが含まれていますApache Stormで 'BaseRichSpout'を拡張しました。 また、カフカの噴出口は、定義上、ストーム噴出口である。だから、流れは(プロデューサー→ブローカー→カフカスピード→ボルト→...)。私はStormのドキュメントを読むことをお勧めしたいと思います。 –

関連する問題