kafka-python中的多处理

red*_*vil 6 apache-kafka kafka-consumer-api 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')
Run Code Online (Sandbox Code Playgroud)

这是否意味着我可以为我生成的每个进程创建一个单独的使用者?此外,consumer1和consumer2消费的消息是否会重叠?

谢谢

Mat*_*Sax 8

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