kafka默认位移提交方式是自动提交,由参数enable.auto.commit配置,默认为true。自动提交是定期提交,周期时间由auto.commit.interval.ms配置,默认是5s,此参数生效的前提是enable.auto.commit为true。
在Kafka中每当消费者查找不到所记录的消费位移时(例如enable.auto.commit配置为false,并且不用commitSync或commitAsync提交位移),就会根据消费者客户端参数auto.offset.reset的配置来决定从何处开始进行消费,这个参数的默认值为latest,表示从分区末尾开始消费消息。配置为earliest,那么消费者会从起始处,也就是0开始消费。