APIs
Kafka包含四种核心的API:
- ProducerAPI支持应用将数据流发送到Kafka集群的主题。
- ConsumerAPI支持应用从Kafka集群的主题中读取数据流。
- StreamsAPI支持数据流从输入主题转化到输出主题。
- ConnectAPI支持实现持续地从一些源系统或应用划入Kafka或者从Kafka推入一些源系统或应用的接口。
Kafka通过独立于语言的协议公开其所有功能,该协议具有可用于诸多编程语言的客户端。但是,只有Java客户端作为主Kafka项目的一部分进行维护,其他客户端只是独立的开源项目。可用的非Java客户端的列表。
2.1 Producer API
Producer API支持应用将数据流发送到Kafka集群的主题。
这里提供了如何使用Producer API的文档。
要使用Kafka Producer API,可以使用以下maven依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.2.0</version>
</dependency>
2.2 Consumer API
Consumer API 支持应用从Kafka集群的主题中读取数据流。
这里提供了如何使用Consumer API的文档。
要使用Kafka Consumer API,可以使用以下maven依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.2.0</version>
</dependency>
2.3 Streams API
Streams API 支持数据流从输入主题转化到输出主题。
这里提供了如何使用Streams API的文档。
有关使用Streams API的其他可用文档请点击这里.
要使用Kafka Streams API,可以使用以下maven依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>0.10.2.0</version>
</dependency>
2.4 Connect API
Connect API 支持实现持续地将数据从一些源系统或应用划入Kafka或者从Kafka推入一些源系统或应用的接口。
Connect的大多数使用者不需要马上使用此API,但是它们可以使用预先建立的连接器,而无需编写任何代码。 有关使用Connect的其他可用文档请点击这里.
那些想要实现定制连接器的人可以参考这里的文档.
2.5 Legacy APIs
Kafka同样也包含了一些有限并且古老的producer以及consumer api。这些旧的Scala API已被弃用,仅仅出于兼容的目的而存在。 有关他们的信息可以在这里找到。