Hir*_*ein 5 apache-kafka kafka-consumer-api
我试图找出消费者群体层面是否也存在任何抵消。消费者偏移量是在消费者组级别还是在 Kafka 中该消费者组内的单个消费者?
偏移量在 ConsumerGroup 级别进行跟踪。
想象一下,一个 ConsumerGroup 中有 4 个消费者线程,使用具有 4 个分区的一个主题。如果您现在停止所有 4 个线程并仅重新启动同一组中的一个线程,则该线程将知道所有 4 个线程在哪里停止消耗并从那里继续。
“你是说一个偏移量(基本上是共享的 int/long 值)将由消费者组中的所有消费者共享/更新?”
是的,这是正确的。请记住,主题的单个分区只能由组中的一个使用者线程读取。同一ConsumerGroup的两个消费者线程永远不会同时消费单个主题分区。消费者组的偏移量存储在名为 的内部 Kafka 主题中__consumer_offsets。在本主题中,您基本上有一个键/值对,其中您的键基本上是以下内容的串联
你的值就是偏移量。该内部__consumer_offsets主题可供所有消费者使用,因此信息是共享的。