美文网首页
Kafka-1.APIS

Kafka-1.APIS

作者: 悠扬前奏 | 来源:发表于2019-06-09 22:07 被阅读0次

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依赖:

<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依赖:

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

3 Streams API

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

<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依赖:

<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依赖:

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

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

相关文章

  • Kafka-1.APIS

    Kafka包含5个核心APIs: 生产者API,向Kafka集群中的主题发送数据流; 消费者API,从Kafka集...

网友评论

      本文标题:Kafka-1.APIS

      本文链接:https://www.haomeiwen.com/subject/kwjxtctx.html