2016-05-24 14 views
4

私はkafkaブローカーからの消費にpython-kakaモジュールを使用しています。私は同じトピックから、x個のパーティションを並行して使いたいと思っています。kafka-pythonのマルチプロセッシング

# Use multiple consumers in parallel w/ 0.9 kafka brokers 
# typically you would run each on a different server/process/CPU 
consumer1 = KafkaConsumer('my-topic', 
         group_id='my-group', 
         bootstrap_servers='my.server.com') 
    consumer2 = KafkaConsumer('my-topic', 
         group_id='my-group', 
         bootstrap_servers='my.server.com') 

これは、私が作成するプロセスごとに個別のコンシューマーを作成できるということですか?また、consumer1とconsumer2が消費するメッセージに重複がありますか?

おかげ

答えて

7

はい、あなたは、複数のスレッド/プロセスで複数のコンシューマを作成して(さらに異なるマシン上で並列に実行する)ことができます。すべての消費者が同じgroupIDを使用している限り、重複はありません。 Kafkaは、各トピックパーティションをコンシューマグループ内の単一のコンシューマに割り当てました。利用可能なトピックパーティションより多くのコンシューマーを使用すると、アイドル状態の消費者が発生することに注意してください。

関連する問題