【发布时间】:2018-10-19 01:30:02
【问题描述】:
我有一个 Spring Boot 应用程序,其中有一个 Kafka Consumer。
我正在使用具有默认消费者配置的 DefaultKafkaConsumerFactory。我有一个并发设置为 1 的 ConcurrentListenerContainerFactory,我有一个用 @KafkaListener 注释的方法。
我正在收听一个具有 3 个分区的主题,并且我有 3 个这样的消费者分别部署在不同的应用程序中。因此,每个消费者都在监听一个分区。
假设在后台调用消费者轮询并获取 40 条记录。然后是每条记录,依次提供给带有@KafkaListener注解的方法,即提供记录1,等待方法完成处理,提供记录2,等待方法完成处理等等。 是出现上述情况,还是每获取一条记录,都会创建一个单独的线程,方法调用发生在单独的线程上,这样主线程就不会阻塞,可以更快的轮询记录。
我还想更清楚地了解消息侦听器容器是什么以及最终的消息侦听器。
提前谢谢你。
【问题讨论】:
标签: java apache-kafka spring-kafka