通过kafka 对外提供的jar 来进行自研管理kafk
Kafka 对外提供的核心工具类主要围绕 Producer API (生产者) 和 Consumer API (消费者) 展开,用于应用程序的开发,核心 JAR 包如 kafka-clients-*.jar 包含这些接口(如 KafkaProducer, KafkaConsumer, ProducerRecord 等),同时还有管理工具,如 kafka-console-producer, kafka-console-consumer, kafka-topics, kafka-consumer-groups 命令行工具(通常在 kafka-tools-*.jar 中),它们帮助开发者进行消息的发布、订阅、主题管理和消费者组监控等操作.
核心开发类 (Producer/Consumer APIs)
这些是 Java API,是构建应用程序的基础,包含在 kafka-clients-*.jar 中:
KafkaProducer<K, V>: 用于发送消息到 Kafka 集群。KafkaConsumer<K, V>: 用于从 Kafka 集群订阅和读取消息。ProducerRecord<K, V>: 代表要发送的记录(包含 Topic、Key、Value、Partition)。ConsumerRecord<K, V>: 代表从 Topic 中消费到的记录。AdminClient: 用于管理 Kafka 集群资源(如创建/删除 Topic、修改配置等)。
常用命令行工具 (Tools)
这些工具通常包含在 kafka-tools-*.jar 中,方便运维和测试:
kafka-console-producer.sh/kafka-console-consumer.sh: 用于在命令行发送和接收消息。kafka-topics.sh: 管理 Topic(创建、删除、列出、描述等)。kafka-consumer-groups.sh: 管理和监控消费者组(重置 Offset、查看状态等)。kafka-mirror-maker.sh: 用于跨集群复制数据。kafka-connect-*: 用于 Connect API,连接 Kafka 与其他系统。
如何找到这些 JAR 包
- 通常在下载的 Kafka 二进制发行版 (e.g.,
kafka_2.13-3.x.x.tgz) 解压后的libs目录中。 kafka-clients-*.jar用于应用开发。kafka-tools-*.jar用于管理和运维。
总结
Kafka 提供的工具类主要服务于两大类用户:应用开发者(通过 API)和运维/测试人员(通过命令行工具),核心在于实现消息的发布、消费、持久化和集群管理