7

我一直在使用 python-kaka 模块从 kafka 代理中消费。我想从同一主题中并行使用“x”个分区。文档有这个:

# 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 使用的消息是否会重叠?

谢谢

4

1 回答 1

10

是的,您可以在多个线程/进程中创建多个消费者(甚至在不同的机器上并行运行它们)。只要所有消费者都使用相同的group.id,就不会有重叠。Kafka 将每个主题分区分配给消费者组中的单个消费者。请注意,使用比可用主题分区更多的消费者将导致空闲消费者。

于 2016-05-25T21:59:20.623 回答