kafka包括五个核心apis:
- Producer API允许应用程序将数据流发送到Kafka集群中的主题。
- Consumer API允许应用程序从Kafka集群中的主题读取数据流。
- Streams API允许将输入主题中的数据流转换为输出主题。
- Connect API允许实现将数据不断从某些源系统或应用程序中输入Kafka的连接器,或从Kafka输入某些接收器系统或应用程序。
- AdminClient API允许管理和检查主题,代理和其他Kafka对象。
Kafka通过独立于语言的协议公开了所有功能,客户端可以使用许多编程语言。 但是,只有Java客户端是作为主要Kafka项目的一部分进行维护的,其他的则作为独立的开源项目提供。
2.1 Producer API
Producer API允许应用程序将数据流发送到Kafka集群中的主题。
显示如何使用生产者的例子在javadoc中给出。
要使用生产者,你可以使用下面的maven依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.11.0.2</version>
</dependency>
2.2 Consumer API
Consumer API允许应用程序从Kafka集群中的主题读取数据流。
展示如何使用消费者的例子在javadoc中给出。
要使用使用者,你可以使用下面的maven依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.11.0.2</version>
</dependency>
2.3 Streams API
Streams API允许将输入主题中的数据流转换为输出主题。
展示如何使用这个库的例子在javadoc中给出
有关使用Streams API的其他文档可以在这里找到。
要使用Kafka Streams,您可以使用以下maven依赖项:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>0.11.0.2</version>
</dependency>
2.4 Connect API
Connect API允许实现不断从一些源数据系统中拉入Kafka的连接器,或者从Kafka推入一些接收器数据系统。
Connect的许多用户不需要直接使用这个API,但是他们可以使用预先建立的连接器而不需要编写任何代码。 有关使用Connect的更多信息,请点击这里。
那些想要实现自定义连接器的人可以看到javadoc。
2.5 AdminClient API
AdminClient API支持管理和检查主题,代理,acl和其他Kafka对象。
要使用AdminClient API,请添加以下Maven依赖项:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.11.0.2</version>
</dependency>
有关AdminClient API的更多信息,请参阅javadoc。
2.6传统的API
kafka还包括一个更有限的传统生产者和消费者API。 这些旧的Scala API已被弃用,只能用于兼容目的。 关于他们的信息可以在这里找到。
网友评论