gpt4 book ai didi

apache-kafka - 如何从read_committed Kafka Consumer获取上次提交的偏移量

转载 作者:行者123 更新时间:2023-12-03 14:49:53 25 4
gpt4 key购买 nike

我正在使用事务性 KafkaProducer 向主题发送消息。这工作正常。我使用具有 read_committed 隔离级别的 KafkaConsumer,并且我对 seek 和 seekToEnd 方法有问题。根据文档,seek 和 seekToEnd 方法给了我 LSO(Last Stable Offset)。但这有点令人困惑。因为它总是给我相同的值(value),主题的结束。无论最后一个条目是提交(由生产者)还是中止事务的一部分。
例如,在我中止最后 5 次尝试插入 20_000 条消息后,消费者不应读取最后 100_000 条记录。但是在 seekToEnd 期间,它移动到主题的末尾(包括 100_000 条消息)。但是 poll() 不会返回它们。

我正在寻找一种方法来检索上次提交的偏移量(因此是生产者最后成功提交的消息)。似乎没有合适的 API 方法。所以我需要自己滚动吗?

选项是向后移动并轮询直到不再检索到记录,这将导致最后提交的消息。但我认为 Kafka 提供了这种方法。

我们使用 Kafka 1.0.0。

最佳答案

类(class)KafkaConsumer有一些不错的方法,例如:partitionFor , begginingOffsetsendOffsets还有commitedposition .

检查哪一种适合您的需求。尤其要仔细考虑所有 4 种与偏移相关的方法。
方法partitionFor返回带有其他信息的完整元数据对象,但可用于丰富日志记录。

关于apache-kafka - 如何从read_committed Kafka Consumer获取上次提交的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48395934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com