Spring Kafka Consumer Single Batch Pull从不同的分区获取数据

时间:2018-10-23 14:46:19

标签: spring apache-kafka kafka-consumer-api spring-kafka

我们有1个主题,每个消费者有3个分区。我们使用spring的KafkaListener批处理将数据作为批处理(25)使用。有时,我们一次看到25条消息中就有来自不同分区的数据。

这是春天的预期行为吗?如果是这样,提交如何工作?当我们通过手动提交调用acknowle()方法时,Spring将负责提交所有分区。

1 个答案:

答案 0 :(得分:0)

不是春天,是卡夫卡;就是这样。

您必须确认每条消息,但是,是的,容器将负责提交。

如果只希望从单个分区发送消息,则可以将max.poll.records设置为1。

顺便说一句,手动确认是很不寻常的;通常最好让容器使用AckMode.BATCHAckMode.RECORD处理偏移量。