Kafka是大数据领域常用的消息队列,其高效的吞吐量和分布式容错等特性是其收到青睐的重要原因。
kafka消息的位置
用好Kafka,维护其消息偏移量对于避免消息的重复消费与遗漏消费,确保消息的Exactly-once是至关重要的。
kafka的消息所在的位置Topic、Partitions、Offsets三个因素决定。
Kafka消费者消费的消息位置还与consumer的group.id有关。
consumerOffsets与earlieastLeaderOffsets的关系
名称 | 含义 |
---|---|
earlieastLeaderOffsets | 存储在broker上的leader节点的最早的消息偏移量 |
consumerOffsets | 消费者消费的消息偏移量位置 |
为了表述方便,我们记earlieastLeaderOffsets为A,记consumerOffsets为B 。
- 情况一:正常情况下,消费的消息偏移量应该大于broker上存储的最早的消息偏移量,即 A < B: