在等待 m 秒后消耗 n 条记录中的最小条记录和最大 n 条记录但 return 条记录

consume min of n records and max n records but return records after waiting for m seconds

我有一个用例,消费者必须消耗最少的 n 条记录才能开始下一个处理,但在等待 m 秒后,必须 return p 条记录,其中 p< n。有没有办法在卡夫卡中实现这一目标? 我可以配置最小提取大小和最大轮询记录数来控制记录数,但不确定如何实现问题的第二部分。

没有fetch.min.records个消费者属性。

如果您的记录大小相似,您可以使用 fetch.min.bytesfetch.max.wait.ms 近似算法。

max.poll.records 并不能真正帮助你,除非 n 条记录已经可用。