Kafka 生产者可以做消费者滞后感知分区吗?



我们一个 Kafka 生产者向仅由一组消费者使用的主题生成消息。消费者的速度则大不相同。我们总是有一定数量的消费者滞后作为缓冲。

生产者是否有可能知道消费组每个分区的滞后,并首先向延迟最低的分区生成消息?如果我使用 C/C++ 客户端或 Java 客户端,是否可以?

谢谢。

这是可能的,因为您可以从生产者内部查找任何消费者组名称的滞后,但是当消费者运行时,这些值会波动,并且您将自己与知道哪些消费者正在运行耦合,这将是Kafka中的反模式。

我建议调整其他消费者设置,例如投票大小/频率

这是不可能的。

必须确保使用的策略将工作平均分配给所有分区。 您可以提供适合您需求的自定义分区程序

例如:https://dzone.com/articles/custom-partitioner-in-kafka-lets-take-quick-tour。

默认分区程序策略是轮循机制

最新更新