目前我有一个卡夫卡话题。我可以让多个消费者同时阅读同一个卡夫卡主题吗?
现在我需要运行多个消费者因此可以并行读取和处理该消息。
这是可能的。
我使用Python和pykafka库。
consumer = topic.get_simple_consumer(consumer_group=b"charlie",
auto_commit_enable=True)
在两个消费者都采取相同的消息。我只需要处理一次消息。
目前我有一个卡夫卡话题。我可以让多个消费者同时阅读同一个卡夫卡主题吗?
现在我需要运行多个消费者因此可以并行读取和处理该消息。
这是可能的。
我使用Python和pykafka库。
consumer = topic.get_simple_consumer(consumer_group=b"charlie",
auto_commit_enable=True)
在两个消费者都采取相同的消息。我只需要处理一次消息。
是的,你可以有多个消费者并联设置您使用相同的用户组ID和话题的分区数应大于消费者另有一些消费者将不会分配任何分区,同一主题阅读这些消费者不会获取任何数据
您需要使用BalancedConsumer
,而不是SimpleConsumer
:
consumer = topic.get_balanced_consumer(consumer_group=b"charlie",
auto_commit_enable=True)
你也应该确保你消耗的话题至少有尽可能多的分区,消费者的数量你正在实例化。