2016-08-23 5 views
0

私はちょうどKafkaを探索しています、現在、メッセージを生成するために1つのproducerと1つのトピックを使用しています。これは1つだけConsumerによって消費されます。非常に簡単です。単一のカフカプロデューサーが複数のトピックにメッセージを生成する方法は?

私はKafkaページを読んでいましたが、new Producer API is thread-safeと共有すると、パフォーマンスが向上します。

1つのProducerを使用して複数のトピックにメッセージを公開することはできますか?

+0

はい、http://kafka.apache.org/documentation.html#producerapiのドキュメントをご覧ください。 –

+0

@miguno提供されたリンクの質問についてはほとんど何も見ません。依存関係についてのみです:( –

+0

上記の文書(短いセクション)には、[KafkaProducerのJava文書(http://kafka.apache.org/0100/javadoc/index.html?)への直接リンクがあります。 org/apache/kafka/clients/producer/KafkaProducer.html)は、「プロデューサの使用方法を示す例は、[javadocs](http://kafka.apache.org/0100/javadoc/index。そのページには、メッセージの送信時に宛先トピックを定義する方法を示すコード例があります。十分にわからない場合は、ごめんなさい。 –

答えて

4

自分で試したことはありませんでしたが、できると思います。プロデューサーやレコードを送信するためのコードは(ここではhttps://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.htmlから)ですので:

だから、
Producer<String, String> producer = new KafkaProducer<>(props); 
for(int i = 0; i < 100; i++) 
    producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i), Integer.toString(i))); 

あなただけProducerRecordでさまざまなトピックを書いた場合、それは可能なはずよりも、私は、推測します。

また、ここではhttp://kafka.apache.org/081/documentation.html#producerapiは、send(List<KeyedMessage<K,V>> messages)という方法を使用して複数のトピックに書き込むことができると明示しています。

+0

FWIW Producer APIの最新のKafkaドキュメントはhttp://kafka.apache.org/documentation.html#producerapiにあります(上記のリンクはKafkaの古い0.8.1バージョン用です) –

+0

producerapiセクションにはメソッド? –

+0

producerapiセクションには次のように書かれています。プロデューサは[javadocs](http://kafka.apache.org/0100/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html)にあります。 "このページには、メッセージの送信時に宛先トピックを定義する方法を示すコード例があります。 –

関連する問題