Kafka: Offset sequence

2019-07-24 07:42发布

Will 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?

1条回答
家丑人穷心不美
2楼-- · 2019-07-24 08:24

Official documentation is quite clear on that:

For each topic, the Kafka cluster maintains a partitioned log that looks like this:

enter image description here

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:

enter image description here

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
查看更多
登录 后发表回答