gpt4 book ai didi

java - 谁负责偏移维护?

转载 作者:搜寻专家 更新时间:2023-11-01 02:01:41 24 4
gpt4 key购买 nike

这是 Kafka docs对于 public ConsumerRecords<K,V> poll(long timeout)

Fetch data for the topics or partitions specified using one of the subscribe/assign APIs. It is an error to not have subscribed to any topics or partitions before polling for data. On each poll, consumer will try to use the last consumed offset as the starting offset and fetch sequentially. The last consumed offset can be manually set through seek(TopicPartition, long) or automatically set as the last committed offset for the subscribed list of partitions

我的问题是谁(经纪人或消费者或动物园管理员)负责维护偏移量及其存储位置(内存或磁盘)?如果消费者将它保存在内存中,消费者会从头开始阅读它还是消费者应用程序需要保留在光盘中吗?

最佳答案

正如您引用的文档中的“偏移量和消费者位置”部分所述,偏移量由 Kafka(代理)存储:

Kafka maintains a numerical offset for each record in a partition

具体来说,它将它们存储在名为“__consumer_offsets”的“内部”消费者抵消主题中。

“旧消费者”api(在即将发布的 v0.11 中已弃用)允许您选择在 kafka 或 zookeeper 中存储偏移量。

此外,您可以自由地在消费者端保存偏移量,并始终在启动时寻找这些偏移量,如果您愿意的话。

因此,总而言之,根据您的消费者 api 版本和您的偏好,偏移量可以存储在代理或动物园管理员和/或消费者端。

关于java - 谁负责偏移维护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616049/

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