在 高级API 中,消费者要从头开始消费某个 topic 的全量数据,需要满足2个条件:
(1)使用一个全新的"group.id"(就是之前没有被任何消费者使用过);
(2)使用assign来订阅;
注意:如果把 "enable.auto.commit" 设为 "false",使用 consumer.commitAsync(currentOffsets, null) 手动提交 offset ,是不能从头开始消费的
auto.offset.reset值含义解释
<earliest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
latest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
none
topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常

博客介绍了消费者从头开始消费某个主题全量数据需满足的条件,指出手动提交offset不能从头消费。还解释了auto.offset.reset值的含义,包括earliest、latest、none三种情况,说明只要有已提交的offset就无法从头消费,此外提到offset存储相关内容。

最低0.47元/天 解锁文章
909

被折叠的 条评论
为什么被折叠?



