知道消费者是否是最新的

知道消费者是否是最新的

本文介绍了Kafka-知道消费者是否是最新的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在本机Java使用者客户端上使用Kafka 0.9.0.如果我有1个主题和1个分区有人可以告诉我是否这样做:seekToEnd(MyTopic);poll(x);

I am using Kafka 0.9.0 with the native Java consumer client.If I have 1 Topic with 1 PartitionCan someone tell me if I do:seekToEnd(MyTopic);poll(x);

我只会获得最后的记录,因此我会知道我处于最后的位置吗?

I will only get the last record, hence I will know that I am in the last position?

推荐答案

是的,您只会得到最后(最新)的记录,因为 seekToEnd() 方法"求值懒惰",因此直到调用poll()时才计算结束.当然,等到poll()方法返回时,可能已经添加了更多消息.因此,除了在方法执行的那一瞬间,我们无法保证您的偏移量位于最后一个位置".

Yes, you will only get the last (newest) record, because the seekToEnd() method "evaluates lazily" so the end is not calculated until poll() is called. Of course, by the time the poll() method returns, more messages could have been added; so there is no guarantee your offset is "in the last position" except at the instant that the method executes.

这篇关于Kafka-知道消费者是否是最新的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 04:11