【发布时间】:2021-01-07 13:53:11
【问题描述】:
我正在研究在我的项目中使用 Kafka 作为具有强大消息处理顺序保证的消息代理的可能性。
我了解到,在 Kafka 中,主题被分成多个分区,每个分区都将分配一个准确的消费者(假设有一个消费者组)。这有利于保持订购。重新平衡是将分区重新分配给消费者的过程,当分区数量或消费者数量发生变化(失败,添加新工作人员)时触发。
是否有可能在不改变消费者数量的情况下即时利用这种再平衡?
假设我们有以下场景:
P1 -- C1
heavytraffic -> P2 -- C2
heavytraffic -> P3 --/
所以消费者 C1 只处理 P1 分区,C2 分配了两个:P2,P3。 假设 P2、P3 上的流量很大,但 P1 空闲。
P1 -- C1
heavytraffic -> P2 --/
heavytraffic -> P3 -- C2
Kafka 有什么方法可以重新分配例如 P2 到 C1 以提高消费者的利用率?
【问题讨论】:
标签: apache-kafka load-balancing kafka-consumer-api