前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka-1.APIS

Kafka-1.APIS

作者头像
悠扬前奏
发布2019-06-11 19:44:04
6540
发布2019-06-11 19:44:04
举报

Kafka包含5个核心APIs:

  1. 生产者API,向Kafka集群中的主题发送数据流;
  2. 消费者API,从Kafka集群中的主题读取数据流;
  3. 流API,从输入主题向输出主题传输数据流;
  4. 连接API,实现从源系统或应用持续向Kafka中拉取数据,或从Kafka向其他sink系统或应用推送数据的连接器;
  5. AdminClient API,管理和检查主题,代理,和其他Kafka对象。

Kafka通过一个语言独立的协议发布其所有功能,这个协议在很多编程语言都有可用的客户端。不过只有Java客户端是作为主要Kafka项目的一部分来维护的,其他客户端是以独立的开源项目提供的。无Java客户端在这里提供。

1 Producer API

生产者API可以使应用向Kafka集群中的主题发送数据流。 javadoc里有使用生产者API的例子。 使用生产者api,需要添加如下maven依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.2.0</version>
</dependency>

2 Consumer API

消费者API能让应用从Kafka集群中读取数据流。 javadoc里有使用消费者API的例子。 使用消费者api,需要添加如下maven依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.2.0</version>
</dependency>

3 Streams API

流API能从输入主题向输出主题传输数据。 javadoc里有使用这个库文件的例子。 使用流API的附加文档在这里提供。 使用Kafka流,需要添加如下maven依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams</artifactId>
    <version>2.2.0</version>
</dependency>

使用Scala的话,可以选择包含kafka-streams-scala库。为Scala使用Kafka Streams DSL的附加文档在开发者文档中提供。 要为了Scala2.12 使用Kafka Streams DSL,需要添加如下maven依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams-scala_2.12</artifactId>
    <version>2.2.0</version>
</dependency>

4 Connect API

连接API能实现连接器从源数据系统中连续抽取数据到Kafka,或者从Kafka向sink数据系统推送数据。 许多Connect的使用者不需要直接使用这个API,他们能使用预构建的连接器,而不需要写任何代码。使用Connect的附加信息这里提供。 如果实现订制的连接器,可以参考javadoc。

5 AdminClient API

这个API支持对topics, brokers, acls, and other Kafka objects管理和检查。 使用这个API需要添加如下maven依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.2.0</version>
</dependency>

更多关于这个API的信息,参考 javadoc。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Producer API
  • 2 Consumer API
  • 3 Streams API
  • 4 Connect API
  • 5 AdminClient API
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档