apache-kafka - kafka消费者轮询多次不返回所有数据
问题描述
我正在按如下方式轮询卡夫卡消费者。
val records = consumer.poll(Duration.ofMillis(5000)).asScala.toList
这有时会带来信息。有时不是。我多次重复调用一个方法,在该方法中我正在使用来自主题的数据。我应该设置"max.partition.fetch.bytes" to "5048576"
还是有其他问题?
解决方案
轮询不保证返回记录;保证阻塞并等待记录。
您需要检查是否有另一个消费者属于同一消费者组,该消费者组已经在消费您可能期望的消息。
在评论中,您提到了一个测试,Kafka 为单元测试场景提供了一个 MockConsumer 和 MockProducer 类。Kafka Streams 也有自己的测试方法
推荐阅读
- python - 使用Python将单元格范围从Excel复制到另一个
- karate - 无法使用 leftOf 选中复选框
- c# - 发布期间出错 无法删除目录“bin\Debug\app.publish\ ClickOnce
- c++ - 在 g++ 中打印反斜杠 r (\r) 在 mac 终端上不起作用
- javascript - 仅在文本溢出时显示工具提示 - 材质 UI
- encryption - 我不明白有多少文件,我必须创建
- python - 使用 Pandas 根据另一列的值创建一列
- typescript - 打字稿:在 index.d.ts 中原型化的类在尝试使用构造函数时给出“x 不是构造函数”
- php - 带有模拟的 PHPUnit 测试覆盖率 API
- git - 提交到 git 时删除历史文件夹是否安全