Apache Kafka Consumer组和Simple Consumer

Hil*_*ild 6 apache-kafka

我是Kafka的新手,我对消费者的理解是基本上有两种类型的实现.
1)高级消费者/消费者群体
2)简单消费者

关于高级抽象的最重要部分是当Kafka不关心处理偏移时使用,而Simple消费者提供了对偏移管理更好的控制.令我困惑的是,如果我想在多线程环境中运行使用者并且还希望控制偏移量.如果我使用消费者组,这意味着我必须读取存储在zookeeper中的最后一个偏移量?这是我唯一的选择.

Pau*_*l M 6

在大多数情况下,高级消费者API不允许您直接控制偏移量.

首次创建使用者组时,您可以告诉它是否从kafka使用该auto.offset.reset属性存储的最旧或最新消息开始.

您还可以通过设置auto.commit.enable为false 来控制高级别使用者何时向zookeeper提交新的偏移量.

由于高级消费者将偏移量存储在zookeeper中,您的应用程序可以直接访问zookeeper并操纵偏移量 - 但它将超出高级消费者API.

您的问题有点令人困惑,但您可以在多线程环境中使用简单的使用者.这就是高级消费者的作用.