apache-kafka - 如何手动分配分区,同时仍然能够自动提交?

标签 apache-kafka kafka-consumer-api kafka-python

我正在尝试手动将分区分配给消费者组中的每个消费者。然而,当您在组中添加消费者时,Kafka(或者至少是 kafka-python)似乎会假设您希望组协调员完成所有任务。有没有办法仍然保留使用消费者组(特别是自动提交)的所有好处,同时能够手动管理分配分区?我可以编写自定义分区分配器吗?

我正在使用 kafka-python 1.3.3 库。

最佳答案

是的,Kafka消费者有一个属性“partition.assignment.strategy”,您可以在其中指定自己的自定义分配器,默认为RangeAssignor

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

Kafka 消费者配置: https://kafka.apache.org/documentation/#consumerconfigs

关于apache-kafka - 如何手动分配分区,同时仍然能够自动提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46311475/

相关文章:

node.js - kafka 消费者组在 kafka-node 中获取重复消息

jdbc - Kafka Connect JDBC 接收器连接器

spring-integration - Kafka 与手动偏移管理 Spring 集成

java - Kafka consumer.poll 不返回任何记录

docker - Docker for Windows 上的 Kafka - 无法使用数据

python - 更新 Kafka 主题中的消息

python - 如何使用 Python 以编程方式在 Apache Kafka 中创建主题

apache-kafka - spring-kafka AckMode中MANUAL和MANUAL_IMMEDIATE有什么区别

apache-kafka - Kafka - 保留期参数

docker - 无法从本地 docker 容器连接到我的本地 kafka 代理