apache-kafka - Kafka 重新平衡 - 将 Kafka 消费者分配给分区

标签 apache-kafka kafka-consumer-api kafka-producer-api

当新的 Kafka 消费者加入/离开消费者组时,Kafka 运行时会触发重新平衡过程,以便执行新的分区分配/映射到新的消费者组。我对重新平衡过程有三个问题:

(1) 除了已经实现的算法之外,是否可以以某种方式插入自定义的重新平衡算法?

(2) 是否可以将外部变量传递给自定义算法?

(3)除了已知的情况(例如当消费者离开、加入等时)之外,是否可以动态地、有选择地启动重新平衡过程

最佳答案

  1. 是的,您可以使用partition.assignment.strategy来设置自定义分配算法。自定义类需要实现ConsumerPartitionAssignor .

  2. 分配者可以执行任何必要的逻辑来从环境或其他地方检索值。

  3. 从 Kafka 2.6 开始,您可以使用 enforceRebalance()触发一个。

关于apache-kafka - Kafka 重新平衡 - 将 Kafka 消费者分配给分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64318389/

相关文章:

java - 无法以 AVRO 格式从 Kafka Producer 发送 GenericRecord 数据

java - 我如何在内存或嵌入式 kafka 中实现而不是为了测试目的?

spring - Kafka Consumer 和 Spark-Kafka-Consumer 的区别

apache-kafka - Kafka 控制台消费者错误 "Offset commit failed on partition"

json - Spring-Kafka无法将AVRO GenericData.Record转换为Acknowledgment

java - 使用Kafka翻滚窗口查询时返回空数据

apache-kafka - 使用幂等 Kafka Producer 时的排序保证

apache-kafka - 如何从 Kafka 加载数据到 CrateDB?

ssl - 在 Kafka 上启用 SSL

java - 在 ConsumerAwareRebalanceListener 上测试异常