kafka 消费者消费过程解析

消费者消费过程解析

  1. cousumer 向boker 集群提交链接请求,返回 broker controller 的通讯url
  2. consumer 指定要消费的topic 后, 向broker bontroller提交 消息请求
  3. broker controller 将consumer 分配一个或者多个 partition leader 。而且将对应的parittion的offset 发送给 consumer
  4. consumer 消费完消息后,消费者会向broker 发送一个消息被消费的反馈。也就是提交 该消息的offset
  5. 当broker 接收到 offset 后,会更新到对应的consumer_offset中

重复消费问题

当消费者消费能力较低 而引起了 消费超时的时候,就会造成重复消费。 当时间到达的时候,刚好有一个消息被消费掉了。可是没有提交offset
。就会出现重复消费的问题url

将自动提交改为树洞提交。或者是延迟kafka的 提交时间kafka

消费者提交offset

  • 消费者的offset 具体存放到哪一个partition中?
  • 消费者都会随机生成一个消费者id 而后取hash。模50 获得一个下角标。存到对应的offset中。
相关文章
相关标签/搜索