zoukankan      html  css  js  c++  java
  • kafka学习总结015 --- consumer配置参数之auto.offset.reset

    auto.offset.reset用来指定consumer消费策略,有如下取值:

    1、latest(分区有提交的offset,从提交的offset后一个offset开始消费;否则等待新生产的数据【默认配置】

    示例:topic3有两个分区、3个副本;其中topic3-0有五条数据,offset为0~4,但是offset0~offset4未提交,验证结果如下:

    指定不自动提交offset && auto.offset.reset=latest:

    消费者启动后,发现未消费到数据,并且对于topic3-0分区来说HW为5:

    此时再生产5条数据,可以看到,消费者消费的offset区间为5~9:

    2、earliest(分区有提交的offset,从提交的offset后一个offset开始消费;否则从头开始消费

    示例:接着前面的例子,topic3-0中有10条数据,offset为0~9,验证结果如下:

    配置auto.offset.reset为earliest

    消费者启动,可以看到从头开始消费数据:

    3、none(分区有提交的offset,从提交的offset后一个offset开始消费;否则抛出异常

    分区无已经提交的offset:

    分区0内有15条数据,offset为0~14,其中offset0~offset9已经被提交;offset10~14未提交;

    consumer启动后再生产5条数据,结果如下:

    个人使用建议:

    1、auto.offset.reset最好不要设置为latest,这是因为:如果分区内的数据未被消费过,这时消费者上线,会导致消费者无法消费到前面的数据(当然也得看应用场景,如果认为这种情况的数据就该丢失,那当我没说)

    2、auto.offset.reset设置为earliest时,可能会有重复消费的问题,这就需要消费者端做数据去重处理

  • 相关阅读:
    js函数——倒计时模块+无缝滚动
    一步步编写avalon组件02:分页组件
    mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理
    只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
    某考试 T1 arg
    vijos 2035 奇数偶数与绚丽多彩的数
    bzoj 5093: [Lydsy1711月赛]图的价值
    [HEOI2016/TJOI2016]求和
    [TJOI2015]概率论
    Codeforces 616 E Sum of Remainders
  • 原文地址:https://www.cnblogs.com/sniffs/p/13203721.html
Copyright © 2011-2022 走看看