kafka 中的多处理-python

multiprocessing in kafka-python

我一直在使用 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 消费的消息是否会重叠?

谢谢

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