Kafka消费者消费规则及问题

Kafka消费者消费规则

  • 消费者消费Kafka中的Topic根据Offset进行消费,每次从上一次的位置+1继续消费
  • 第一次消费规则:由属性决定

auto.offset.reset=latest | earliest
latest:默认的值,从Topic每个分区的最新的位置开始消费
earliest:从最早的位置开始消费,每个分区的offset为0开始消费

  • 第二次消费开始:根据上一次消费的Offset位置+1继续进行消费
    在这里插入图片描述

Kafka消费者消费过程中存在的问题

问题1:

消费者如何知道上一次消费的位置是什么?

每个消费者都将自己上一次消费的offset记录自己的内存中

问题2:

如果因为网络资源等原因,消费者故障了,重启消费者,原来内存中offset就没有了,消费者怎么知道上一次消费的位置?

  1. Kafka Offset偏移量管理
  • Kafka将每个消费者消费的位置主动记录在一个Topic中:__consumer_offsets,它记录了每个消费者这一次要消费的位置
  • 如果下次消费者没有给定请求offset,kafka就根据自己记录的offset来提供消费的位置
    在这里插入图片描述
  1. 提交规则:根据时间自动提交
props.setProperty("enable.auto.commit", "true");//是否自动提交offset
props.setProperty("auto.commit.interval.ms", "1000");//提交的间隔时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据老人家i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值