2017-03-10 47 views
1

目前我有一个卡夫卡话题。我可以让多个消费者同时阅读同一个卡夫卡主题吗?

现在我需要运行多个消费者因此可以并行读取和处理该消息。

这是可能的。

我使用Python和pykafka库。

consumer = topic.get_simple_consumer(consumer_group=b"charlie", 
           auto_commit_enable=True) 

在两个消费者都采取相同的消息。我只需要处理一次消息。

回答

-1

是的,你可以有多个消费者并联设置您使用相同的用户组ID和话题的分区数应大于消费者另有一些消费者将不会分配任何分区,同一主题阅读这些消费者不会获取任何数据

0

您需要使用BalancedConsumer,而不是SimpleConsumer

consumer = topic.get_balanced_consumer(consumer_group=b"charlie", 
             auto_commit_enable=True) 

你也应该确保你消耗的话题至少有尽可能多的分区,消费者的数量你正在实例化。

相关问题