使用轮询模式消耗Kafka消息

问题描述 投票:1回答:1

我是新手,使用的是Kafka 1.0。

我使用pull模式读取kafka消息,也就是说,我周期性的 poll()的主题,但我没有把偏移量写回给Kafka,请问Kafka如何知道我消耗了哪些偏移量,或者Kafka是如何记住进度的?

我想问一下,Kafka是怎么知道我消耗了哪些偏移量的,或者Kafka是通过什么机制记住进度的(Kafka偏移量)。

apache-kafka kafka-consumer-api
1个回答
1
投票

每个消费组都会维护它的偏移量,每个话题分区。由于 v0.9 每个消费群的已承诺的偏移量信息被存储在一个内部主题中,该主题(默认情况下)称为 __consumer_offsets (在v0.9之前,这些信息存储在Zookeeper上)。当偏移管理器收到一个 OffsetCommitRequest它将请求附加到一个特殊的压缩的Kafka主题,命名为 __consumer_offsets. 最后,只有当offsets主题的所有副本都收到offsets时,offsets管理器才会向消费者发送一个成功的offsets提交响应。

© www.soinside.com 2019 - 2024. All rights reserved.