美文网首页
kafka consumer

kafka consumer

作者: laowangv2 | 来源:发表于2021-05-20 22:11 被阅读0次

    一、消费者和消费者组

    • P2P
      所有的消费者隶属同一消费者组
    • Pub/Sub
      所有的消费者隶属不同的消费者组

    二、参数

    1. 必要参数

    • bootstrap.servers
    • group.id
    • key.deserializer和value.deserializer

    2. 其他

    三、消息位移

    1. 提交

    • 自动提交
      enable.auto.commit(默认true)、auto.commit.interval.ms(默认5s),也就是默认每5秒提交一次,提交的是下一条拉取的消息的offset
    • 手动提交
      有同步和异步两种方式,对于每一种方式,又有多个重载的方法,分别对应于是否指定offset(不指定的话会根据上一次poll的结果来自动指定)

    2. 指定位移消费

    • auto.offset.reset
      查找不到消费位移或位移越界就会触发这个传参数,有两种选择,earliest——从头开始;latest——从最新的开始;none——直接报NoOffsetForPartitionException
    • seek方法
      根据offset参数重置poll的位置

    四、Rebalance

    Rebalance是分区的所属权重新分配的过程,这期间,消费者组是无法消费的。

    五、组件

    1. 消费者拦截器

    • poll返回之前
    • 提交commit之后
    • close

    2. 再建衡监听器

    • 再均衡之前、消费者停止读取之后
    • 重新分配之后、开始读取消息之前

    六、多线程

    消费者是非线程安全的

    相关文章

      网友评论

          本文标题:kafka consumer

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