kafka消费者批量侦听器根据消息发送器的大小轮询记录

San*_*asa 5 java spring-boot kafka-consumer-api spring-kafka

我希望消费者根据消息批量的长度/大小批量消费消息,这意味着批量为 1kb,最大 poll.record 为 100。最多轮询 100 条消息或 1kb 消息。

max.poll.records =100  
Run Code Online (Sandbox Code Playgroud)

如何在批次中设置最大 1kb 的消息?我已经尝试过max.partition.fetch.bytes=1024,但即使消息批次大于 1024 字节,我也会收到 100 条消息。如何控制这种行为?

如何设置最大 1kb 消息,每批最多 100 条消息?

小智 0

消费者中的配置,例如max.partition.fetch.bytesfetch.max.bytes两者都不是绝对最大值

记录由消费者分批获取,如果获取的第一个非空分区中的第一条记录批次大于该值,仍然会返回该记录批次以确保消费者能够取得进展

message.max.byteskafka 建议通过(broker config) 或(topic config)进行定义max.message.bytes

您可以在这里找到有关 kafka 配置的所有详细信息:max.partition.fetch.bytes

希望有帮助。