【kafka专栏】结合线程池实现apache kafka消费者组

一个错误:多线程使用单一消费者

下图显现了一种错误的使用KafkaConsumer的方法

  • 创建多个线程用来消费kafka数据
  • 多线程使用同一个KafkaConsumer对象
  • 在单线程中使用这个KafkaConsumer对象,完成数据拉取、处理、提交偏移量。

在这里插入图片描述

这种方式之所以错误的原因是:KafkaConsumer是线程不安全的,可能出现把同一批数据既给线程A处理,也交给线程B处理重复消费的问题。

一个误区:多线程就是消费者组

下图中体现的是一种正常的KafkaConsumer使用方式

  • 使用一个KafkaConsumer拉取数据
  • 拉取数据后将一个批次的数据交给一个线程去处理

在这里插入图片描述

这个处理方式不是错误,但是他只是一个消费者在消费kafka消息队列中的数据࿰

猜你喜欢

转载自blog.csdn.net/hanxiaotongtong/article/details/125646483
今日推荐