【发布时间】:2016-04-26 15:00:51
【问题描述】:
我将 Kafka 0.9.0 与本机 Java 消费者客户端一起使用。 如果我有 1 个主题和 1 个分区 如果我这样做,有人可以告诉我: seekToEnd(MyTopic); 投票(x);
我只会得到最后一条记录,因此我会知道我在最后一个位置?
【问题讨论】:
标签: apache-kafka kafka-consumer-api
我将 Kafka 0.9.0 与本机 Java 消费者客户端一起使用。 如果我有 1 个主题和 1 个分区 如果我这样做,有人可以告诉我: seekToEnd(MyTopic); 投票(x);
我只会得到最后一条记录,因此我会知道我在最后一个位置?
【问题讨论】:
标签: apache-kafka kafka-consumer-api
是的,你只会得到最后一条(最新的)记录,因为 seekToEnd() 方法“延迟评估”所以在调用 poll() 之前不会计算结尾。当然,当poll() 方法返回时,可能已经添加了更多消息;所以除了方法执行的那一刻,不能保证你的偏移量是“在最后一个位置”。
【讨论】: