【发布时间】:2021-10-01 18:16:20
【问题描述】:
试图弄清楚 Kafka Connect 中的消费者群体。
当我创建连接器时,实际上会在后台创建一个消费者组,对吗?
但是,当您转到实际的 API 并在连接器上执行获取请求时,您将能够看到连接器实际上是一个具有状态的线程(因此它可能会失败)。
我的问题是 - 这个线程的目的是什么?我确信消费者组(和连接器)只是一个逻辑组件......
【问题讨论】:
标签: apache-kafka apache-kafka-connect
试图弄清楚 Kafka Connect 中的消费者群体。
当我创建连接器时,实际上会在后台创建一个消费者组,对吗?
但是,当您转到实际的 API 并在连接器上执行获取请求时,您将能够看到连接器实际上是一个具有状态的线程(因此它可能会失败)。
我的问题是 - 这个线程的目的是什么?我确信消费者组(和连接器)只是一个逻辑组件......
【问题讨论】:
标签: apache-kafka apache-kafka-connect
创建连接器不一定会创建消费者组。消费者群体与您的其他问题并没有真正相关,因此我将重点回答 “Kafka Connect 连接器线程的用途是什么?”
当 Kafka Connect 启动一个连接器时,它首先启动一个“连接器”线程。这是您在图片中突出显示的条目。
连接器线程有多种职责:
管理任务配置。这包括验证、为每个任务生成配置以及在请求时重新配置。
处理全局状态。 Connect 运行时确保连接器线程的单个实例运行,因此它可用于执行应该执行一次的操作。例如,在 MirrorMaker2 中,连接器线程定期列出源集群中的主题。如果它检测到新主题,它会重新配置任务以镜像它。
查看Connector API中的相关方法。
一旦连接器线程运行,Connect 运行时就可以使用它来生成任务配置和启动任务。任务线程负责在外部系统和 Kafka 之间复制数据。
【讨论】: