0


Apache Kafka各Api模块说明

Kafka API

  • 微信公众号:阿俊的学习记录空间
  • 小红书:ArnoZhang
  • wordpress:arnozhang1994
  • 博客园:arnozhang
  • CSDN:ArnoZhang1994

Kafka 包含五个核心 API:

  1. Producer API 允许应用程序将数据流发送到 Kafka 集群中的topic。
  2. Consumer API 允许应用程序从 Kafka 集群中的topic读取数据流。
  3. Streams API 允许将输入topic的数据流转换为输出topic的数据流。
  4. Connect API 允许实现连接器,持续地从某个源系统或应用程序拉取数据到 Kafka,或将数据从 Kafka 推送到某个接收系统或应用程序中。
  5. Admin API 允许管理和检查topic、代理以及其他 Kafka 对象。

Kafka 将其所有功能通过一个与语言无关的协议暴露出来,并且有很多编程语言的客户端可用。然而,只有 Java 客户端是作为 Kafka 主项目的一部分进行维护的,其他客户端则作为独立的开源项目提供。这里有一个非 Java 客户端的列表。

Producer API

Producer API 允许应用程序将数据流发送到 Kafka 集群中的topic。

如何使用 Producer 的示例可以在 javadoc 中找到。

要使用 Producer,可以使用以下 Maven 依赖:

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.8.0</version></dependency>

Consumer API

Consumer API 允许应用程序从 Kafka 集群中的topic读取数据流。

如何使用 Consumer 的示例可以在 javadoc 中找到。

要使用 Consumer,可以使用以下 Maven 依赖:

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.8.0</version></dependency>

Streams API

Streams API 允许将输入topic的数据流转换为输出topic的数据流。

如何使用 Streams API 的示例可以在 javadoc 中找到。

有关使用 Streams API 的更多文档可以在这里找到。

要使用 Kafka Streams,可以使用以下 Maven 依赖:

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId><version>3.8.0</version></dependency>

如果使用 Scala,你可以选择性地包含

kafka-streams-scala

库。关于如何使用 Kafka Streams 的 Scala DSL,可以在开发者指南中找到更多文档。

要在 Scala 2.13 中使用 Kafka Streams DSL,可以使用以下 Maven 依赖:

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams-scala_2.13</artifactId><version>3.8.0</version></dependency>

Connect API

Connect API 允许实现连接器,持续从某个源数据系统拉取数据到 Kafka,或将数据从 Kafka 推送到某个接收数据系统。

许多使用 Connect 的用户无需直接使用此 API,他们可以使用预构建的连接器而无需编写任何代码。有关使用 Connect 的更多信息可以在这里找到。

想要实现自定义连接器的用户可以参考 javadoc。

Admin API

Admin API 支持管理和检查topic、代理、ACL 以及其他 Kafka 对象。

要使用 Admin API,请添加以下 Maven 依赖:

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.8.0</version></dependency>

相关package说明:

Package****Descriptionorg.apache.kafka.clients.admin提供用于对 Kafka 集群执行管理操作(如创建topic和配置代理)的 Kafka 客户端。org.apache.kafka.clients.consumer提供用于从 Kafka 集群中的topic和/或分区消费记录的 Kafka 客户端。org.apache.kafka.clients.producer提供用于向 Kafka 集群中的topic和/或分区生产记录的 Kafka 客户端。org.apache.kafka.common提供 Kafka 客户端和服务器共享的功能。org.apache.kafka.common.acl提供表示客户端授权访问控制列表的类。org.apache.kafka.common.annotation提供用于 Kafka API 的注解。org.apache.kafka.common.config提供用于定义、解析、验证和记录用户可配置参数的常见机制。org.apache.kafka.common.config.provider提供可插拔的接口和一些用于延迟绑定配置值的实现。org.apache.kafka.common.errors提供通用的异常类。org.apache.kafka.common.header提供用于附加到 Kafka 记录的应用程序定义的元数据的 API。org.apache.kafka.common.metrics提供 Kafka 客户端用来发出指标的 API,随后这些指标通过 *MetricsReporter 接口公开。org.apache.kafka.common.metrics.stats提供用于统计汇总指标的方法。org.apache.kafka.common.quota提供用于强制执行资源配额的机制。org.apache.kafka.common.resource提供表示 Kafka 集群中逻辑资源的客户端句柄。org.apache.kafka.common.security.auth提供用于实现 Kafka 认证机制的可插拔接口。org.apache.kafka.common.security.oauthbearer提供用于在 Kafka 集群中使用 OAuth Bearer Token 认证的 LoginModule。org.apache.kafka.common.security.oauthbearer.secured该包已被弃用。org.apache.kafka.common.security.plain提供使用明文凭证进行 Kafka 集群安全认证的实现。org.apache.kafka.common.security.scram提供使用加盐挑战响应认证机制(SCRAM)来确保 Kafka 集群安全的适配器。org.apache.kafka.common.security.token.delegation提供用于将授权委托给特定 Principal 的机制,以确保 Kafka 集群安全。org.apache.kafka.common.serialization提供用于对象序列化/反序列化的接口及一些实现。org.apache.kafka.connect.components提供用于描述可插拔组件的通用接口。org.apache.kafka.connect.connector提供用于 Connector 和 Task 实现的接口。org.apache.kafka.connect.connector.policy提供可插拔接口,用于控制用户如何配置连接器的策略。org.apache.kafka.connect.data提供用于表示 Connect 处理的数据和模式的类。org.apache.kafka.connect.errors提供 Connect 的常见异常类,供框架和插件用于传达失败信息。org.apache.kafka.connect.header提供用于附加到 Connect 记录的应用程序定义的元数据的 API。org.apache.kafka.connect.health提供用于向 ConnectRestExtension 实例描述运行中 Connect 集群状态的 API。org.apache.kafka.connect.mirror-org.apache.kafka.connect.rest提供可插拔接口,用于更改 Connect REST API 的行为。org.apache.kafka.connect.sink提供用于实现将 Kafka 记录写入外部应用程序的 sink 连接器的 API。org.apache.kafka.connect.source提供用于实现从外部应用程序读取数据并将其导入 Kafka 的 source 连接器的 API。org.apache.kafka.connect.storage提供用于(反)序列化数据到 Kafka 的可插拔接口及一些实现。org.apache.kafka.connect.tools-org.apache.kafka.connect.transforms提供用于更改 Connect 传输数据的可插拔接口。org.apache.kafka.connect.transforms.predicates提供可插拔接口,用于描述何时应对记录应用转换。org.apache.kafka.connect.util提供组件实现中可用的通用实用工具。org.apache.kafka.coordinator.group.api.assignor-org.apache.kafka.server.authorizer提供可插拔接口,用于在 Kafka 服务器上执行授权。org.apache.kafka.server.log.remote.storage提供用于定义 Kafka 日志段的远程存储和检索的可插拔 API。org.apache.kafka.server.policy提供用于表达topic和配置策略的可插拔接口。org.apache.kafka.server.quota提供用于在 Kafka 服务器上执行客户端配额的可插拔接口。org.apache.kafka.server.telemetry提供可插拔接口,用于捕获客户端的遥测指标。org.apache.kafka.streams提供用于构建流数据应用程序的 Kafka Streams 库。org.apache.kafka.streams.errors提供用于 Streams 应用程序的常见异常类。org.apache.kafka.streams.kstream提供用于在输入流和表上表达(有状态的)数据流计算的高级编程模型(DSL)。org.apache.kafka.streams.processor提供用于在输入topic上表达(有状态的)数据流计算的低级编程模型(Processor API,简称 PAPI)。org.apache.kafka.streams.processor.api提供用于在输入topic上表达(有状态的)数据流计算的低级编程模型(Processor API,简称 PAPI)。org.apache.kafka.streams.processor.assignment-org.apache.kafka.streams.processor.assignment.assignors-org.apache.kafka.streams.query提供用于在状态存储上查询(即交互式查询)的 API,用于从有状态的 Kafka Streams 应用程序中提取数据。org.apache.kafka.streams.state提供用于管理有状态流应用程序中间状态的接口。org.apache.kafka.streams.test提供用于使用模拟输入测试 Kafka Streams 应用程序的类。org.apache.kafka.tools.api提供用于编写 Kafka 工具插件的接口。

标签: apache kafka 分布式

本文转载自: https://blog.csdn.net/qq_24510649/article/details/142929202
版权归原作者 ArnoZhang94 所有, 如有侵权,请联系我们删除。

“Apache Kafka各Api模块说明”的评论:

还没有评论