0

我正在使用注释 @KafkaListner 来收听特定主题。但是突然间我注意到消费者从生产者那里收到消息有很大的延迟。然后我增加了经纪人的分区数量,问题就解决了。

经过一些研究,我意识到消费者组中的消费者数量不能超过分区数量,否则一些消费者将处于非活动状态。

那么在 Spring Boot 中,每个单独的 @KafkaListener 是否都被视为单个消费者?如果没有,我怎样才能找到消费者组中消费者的确切数量,从而能够正确配置分区?

4

1 回答 1

1

每个人 @KafkaListener 是否被视为单个消费者?

不,它是一个消费者组,可以有一个(默认)或多个消费者线程(容器)。您可以使用该concurrency属性来覆盖 ContainerFactory 默认属性。

如您所见,主题分区的数量决定了并行度。如果并发量大于分区数,则调低并发度,使每个 Container 获得一个分区。

于 2020-12-28T11:25:33.230 回答