美文网首页
偏移量的维护

偏移量的维护

作者: 阿长_一个程序员 | 来源:发表于2019-10-13 18:56 被阅读0次
    偏移量的作用

    如果消费者一直处于运行状态,那么偏移量就没有什么用处。
    偏移量的作用显现与再均衡时期

    消费者发生崩溃或者有新的消费者加入群组,就会触发再均衡,完成再均衡之后,每个消费者可能分配到新的分区,而不是之前处理的那个。为了能够继续之前的工作,消费者需要读取每个分区最后一次提交的偏移量,然后从偏移量指定的地方继续处理。

    偏移量的提交

    消费者往 _consumer_offset 的特殊主题发送消息,消息里包含每个分区的偏移量

    提交偏移量的方式
    • 自动提交
      如果enable.auto.commit被设为true,那么每过5s,消费者会自动执行poll()方法。
      poll()方法会返回由生产者写入Kafka但还没有被消费者读取过的记录,并将接收到的最大偏移量提交上去。
      提交时间间隔由auto.commit.interval.ms控制,默认值是5s。

    • 手动提交
      把enable.auto.commit设置为false
      在自己的代码中调用用commitSync()或commitAsync()提交偏移量
      如果使用了Spring-kafka-starter,它会替为我们做人工提交,无需自己调用

    相关文章

      网友评论

          本文标题:偏移量的维护

          本文链接:https://www.haomeiwen.com/subject/dkckmctx.html