卡夫卡消费者终端胶印的一致性

时间:2019-07-06 12:43:39

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

我有一个复制因子3和ansible-playbook myplaybook --start-at-task="task-name" --step 的kafka主题,生产者使用min.insync.replicas = 2向该主题发送X消息。 在所有消息发送到主题之后的一会儿(1分钟内)之后,将使用java kafka客户端为此主题创建新使用者。使用acks=all方法,获取该主题的所有kafka分区的结束偏移量。再次调用同一方法consumer.endOffsets()有时会为某些分区返回不同的结束偏移量。

在此设置中,创建使用者后,没有新消息发送给kafka主题。

根据consumer.endOffsets的Java文档:

endOffsets

endOffsets返回所有副本均确认的最后稳定偏移量(LSO)。

为什么在此方法的后续调用之间有时(不是很频繁)结束偏移量发生变化? endOffsets最终是一致的预期行为吗?一个错误?

0 个答案:

没有答案