是否将为每个发布的消息(假设消息已压缩)分配一个唯一的偏移号,并在给定分区内保持顺序和递增?另外,offset#序列是否有可能会重置自身,也就是说它可以从0开始?
解决方案
每个分区是一个有序的,不可变的记录序列,即连续附加到-结构化提交日志.记录在每个分区都分配有一个顺序ID号,称为偏移量唯一地标识分区中的每个记录.
消费者甚至可以从一开始就读取特定的偏移量:
要为特定消费者组重置偏移量,可以使用以下命令:
kafka-consumer-groups --bootstrap-server localhost:9092 --group my-group --reset-offsets-最早--all-topics --executeWill each message posted (assuming messages are compressed) have a unique offset# assigned and remain sequential and incremental within a given partition? Also, is it possible that the offset# sequence can reset itself, meaning it can start from 0?
解决方案Official documentation is quite clear on that:
For each topic, the Kafka cluster maintains a partitioned log that looks like this:
Each partition is an ordered, immutable sequence of records that is continually appended to—a structured commit log. The records in the partitions are each assigned a sequential id number called the offset that uniquely identifies each record within the partition.
Consumers are able to read from specific offsets even from the beginning:
In order to reset offsets for a particular consumer group you can use the following:
kafka-consumer-groups --bootstrap-server localhost:9092 --group my-group --reset-offsets --to-earliest --all-topics --execute
更多推荐
卡夫卡:抵消序列
发布评论