首页 > 其他分享 >Apache Kafka各Api模块说明

Apache Kafka各Api模块说明

时间:2024-10-14 22:32:08浏览次数:1  
标签:API 提供 kafka apache Api Apache org Kafka

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 Description
org.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 工具插件的接口。

标签:API,提供,kafka,apache,Api,Apache,org,Kafka
From: https://www.cnblogs.com/arnozhang/p/18466140

相关文章

  • 【linux内核】系统调用与内核API
    原创星火可以燎燃星火技术今天,我们将探讨系统调用的概念以及Linux内核API是如何工作的,这将帮助我们更好地理解Linux系统的工作原理。一、系统调用的重要性系统调用是操作系统提供给应用程序的一组接口,使得应用程序可以直接请求操作系统内核执行某些任务,比如读写文件、创建......
  • 微服务02 Kafka消息队列, Dubbo, Springcloud微服务框架, Nacos
    3.6Kafka部署kafka下载链接http://kafka.apache.org/downloads#清华源https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/kafka版本格式kafka_<scala版本>_<kafka版本>#示例:kafka_2.13-2.7.0.tgz官方文档:http://kafka.apache.org/quickstart#二进制安装......
  • 微服务01 ZooKeeper, Kafka
    1.4微服务1.4.6SpringCloudJAVA微服务技术Dubbo是2014年之前阿里退出的分布式系统的技术(不属于微服务)。现在主流是SpringCloudSpringCloud 官网地址:https://spring.io/projects/spring-cloud官网上实现方法有很多种,目前主流是阿里巴巴实现的方法Sprin......
  • P6148 [USACO20FEB] Swapity Swapity Swap S
    ​P6148[USACO20FEB]SwapitySwapitySwapSFarmerJohn的\(N\)头奶牛(\(1\leqN\leq10^5\))站成一排。对于每一个\(1\leqi\leqN\),从左往右数第\(i\)头奶牛的编号为\(i\)。FarmerJohn想到了一个新的奶牛晨练方案。他给奶牛们\(M\)对整数\((L_1,R_1)\ldots(L_M,......
  • 选择聚合API市场还是建设独立自主的API门户?
    API市场是一种流行的API货币化方式,越来越多的企业寻求启动他们的API业务。本文将探讨什么是API市场及其运作方式。我们还将审视一些最受欢迎的API市场及其优缺点。最后,我们将介绍API市场的替代方案——API门户,以及它如何成为您自己的API市场。现在,让我们一起看看API市场的世界,看看......
  • Apache 设置端口重定向
    1.背景今天收到了云服务商的邮件,说是根据历史的备案信息网站无法访问,突然想起在此之前配置apache时,默认的访问路径是不完整的,需要添加后缀才能访问到站点。同时,由于配置SSL证书后没有进行重定向,导致http访问时会被定向到php的测试界面。2.修改2.1更新默认站点的访问......
  • Understanding Astrology APIs: Powering the Future of Astrological Services
    UnderstandingAstrologyAPIs Astrologyhasevolvedbeyonditstraditionalroots,seamlesslyblendingwithmoderntechnologytoprovideaccurateandpersonalizedastrologicalservices.Oneofthekeyinnovationsbehindthisshiftistheuseof Astrolog......
  • 全网低价话费充值对接api接口如何选择对接平台?
    在选择对接全网低价话费充值API接口的平台时,你可以考虑以下几个关键因素来确保你选择的平台能够满足你的需求:覆盖范围:确保平台支持三大运营商(移动、联通、电信)的话费充值服务,以便能够覆盖所有用户的需求。接口稳定性:选择一个提供稳定服务的平台,这通常可以通过查看用户评价、......
  • 如何在 Ubuntu 16.04 上将 Apache Web 根目录移动到新位置
    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。简介在Ubuntu上,默认情况下,Apache2Web服务器将其文档存储在/var/www/html目录中,通常位于与操作系统其余部分相同的根文件系统上。然而,有时将文档根目录移动到另一个位......
  • AI智能照片放大软件--Topaz Gigapixel AI macOS苹果电脑安装包(含激活秘钥)
    TopazGigapixelAI是一款功能强大的图像无损放大工具,具有以下功能特色:首先,它利用人工智能技术,能自动识别并增强图像中的细节,包括纹理、边缘等,同时减少噪声,使图像更加清晰细腻。其次,软件支持超高放大倍率,最高可达600%,且放大后的图像质量依然保持优秀。此外,TopazGigapixelAI还提......