Apache kafka 如何在仍然能够自动提交的情况下手动分配分区?

Apache kafka 如何在仍然能够自动提交的情况下手动分配分区?,apache-kafka,kafka-consumer-api,kafka-python,Apache Kafka,Kafka Consumer Api,Kafka Python,我试图手动将分区分配给消费者组中的每个消费者。但是,当您在组中添加使用者时,Kafka(或者至少是Kafka python)假设您希望组协调员完成所有分配。在能够手动管理分配分区的同时,是否有一种方法可以保留使用使用者组(特别是自动提交)的所有好处?我可以写一个自定义分区赋值器吗 我正在使用kafka python 1.3.3库 是的,Kafka consumer有一个属性“partition.assignment.strategy”,您可以在其中指定自己的自定义赋值器,默认值为RangeSig

我试图手动将分区分配给消费者组中的每个消费者。但是,当您在组中添加使用者时,Kafka(或者至少是Kafka python)假设您希望组协调员完成所有分配。在能够手动管理分配分区的同时,是否有一种方法可以保留使用使用者组(特别是自动提交)的所有好处?我可以写一个自定义分区赋值器吗


我正在使用kafka python 1.3.3库

是的,Kafka consumer有一个属性“partition.assignment.strategy”,您可以在其中指定自己的自定义赋值器,默认值为RangeSignator

自动提交也是属性驱动的“enable.Auto.commit”

卡夫卡消费者配置:

您可以使用
assign
方法手动将分区分配给使用者。 例如:

partition = TopicPartition('myTopic', 0)
self.consumer = KafkaConsumer(...)
self.consumer.assign([partition])