了解 Kafka Connect 使用的内部主题 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解 Kafka Connect 使用的内部主题

在分布式模式下运行的 Apache Kafka Connect 应用程序使用 Kafka 集群中的内部主题和组成员资格来存储其状态。以下是与用于 Kafka Connect 应用程序的内部主题相对应的配置值:

  • 配置主题,通过 config.storage.topic 指定

    在配置主题中,Kafka Connect 存储用户已启动的所有连接器和任务的配置。每次用户更新连接器的配置或连接器请求重新配置时(例如,连接器检测到它可以启动更多任务),都会向此主题发出一条记录。此主题启用了压缩,因此它始终保留每个实体的最后状态。

  • 偏移量主题,通过 offset.storage.topic 指定

    在偏移量主题中,Kafka Connect 存储源连接器的偏移量。与配置主题一样,偏移量主题也启用了压缩。此主题仅用于写入从外部系统向 Kafka 生成数据的源连接器的源位置。从 Kafka 读取数据并发送到外部系统的接收器连接器使用常规 Kafka 消费者组存储其消费者偏移量。

  • 状态主题,通过 status.storage.topic 指定

    在状态主题中,Kafka Connect 存储连接器和任务的当前状态。此主题用作 REST API 用户查询的数据的中心位置。此主题允许用户查询任何工作程序,同时仍可获取所有正在运行的插件的状态。与配置和偏移量主题一样,状态主题也启用了压缩。

除了这些主题之外,Kafka Connect 还大量使用了 Kafka 的组成员资格 API。这些组以连接器名称命名。例如,对于名为 file-sink 的连接器,该组名为。 connect-file-sink组中的每个消费者都会向单个任务提供记录。可以使用常规消费者组工具(例如 Kafka-consumer-group.sh)检索这些组及其偏移量。对于每个接收器连接器,Connect 运行时都会运行一个从 Kafka 中提取记录的常规消费者组。