首页 > 解决方案 > kafka消费者轮询多次不返回所有数据

问题描述

我正在按如下方式轮询卡夫卡消费者。

val records = consumer.poll(Duration.ofMillis(5000)).asScala.toList

这有时会带来信息。有时不是。我多次重复调用一个方法,在该方法中我正在使用来自主题的数据。我应该设置"max.partition.fetch.bytes" to "5048576"还是有其他问题?

标签: apache-kafkakafka-consumer-api

解决方案


轮询不保证返回记录;保证阻塞并等待记录。

您需要检查是否有另一个消费者属于同一消费者组,该消费者组已经在消费您可能期望的消息。


在评论中,您提到了一个测试,Kafka 为单元测试场景提供了一个 MockConsumer 和 MockProducer 类。Kafka Streams 也有自己的测试方法


推荐阅读