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 将每个主题分区分配给消费者组中的单个消费者。请注意,使用比可用主题分区更多的消费者将导致空闲消费者。
我一直在使用 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 将每个主题分区分配给消费者组中的单个消费者。请注意,使用比可用主题分区更多的消费者将导致空闲消费者。