语境:

我们正在使用Kafka Stream编写应用程序 . 通常,我们对从一个主题到另一个主题(不使用连接)的消息进行了转换 .

为了在将它流向目标主题之前稍微潜入输出结果,我们想要调整一个调试模式,它允许我们只从源主题消耗一定数量的消息(~1000) . 并且,Kafka流之后的消息应该分为Stdout或文件而不是目标主题 . 因此,Kafka不会产生任何消息,我们可以了解数据的结果 .

问题:

  • 可以让Kafka流只消耗来自源主题和关闭流的n条消息吗?

  • 我认为KafkaConsumerInterceptor是一个依靠消息的选项 . 但是,当我们达到一定数量时,我不知道是否有办法关闭Kafka流 .

  • 另一个潜在的想法是对Kafka Stream创建的拓扑做一些改变 . 比如,在拓扑中创建一个新的源节点,它只能读取主题X中的消息,从偏移量A到偏移量B,以便我们可以手动设置 .

我想知道哪种方法可行或是否有其他更好的解决方案 . 谢谢!