2. APIS
Kafka包含5个核心APIs
- 生产者API允许应用发送流数据到Kafka集群中的topics
- 消费者API允许应用读流数据从Kafka集群中的topics
- 流API允许转换输入的topic流到输出的topic流
- 连接API允许实现连接器,它持续拉数据从数据源系统或应用,或推数据 从kafka到其它系统或应用.
- 管理者 Api 允许管理 或嗅探topic,brokers或其它kafka对象.
Kafka暴露它所有功能通过语言独立协议,这样客户端可以有非常多语言可以使用.虽然这样只有Java客户端做为Kafka主要项目被维护,其它语言作为开源项目独立运营.链接是非java客户端列表.
2.1 Producer API
生产者API允许应用发送流数据到Kafka集群中的topics.
怎样使用生产者的例子可以在javadocs上查看.
可以使用下边maven仓库来使用producer
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.0.0</version>
</dependency>
2.2 Consumer API
消费者API允许应用读流数据从Kafka集群中的topics
怎样使用消费者的例子可以在javadocs上查看
可以使用下边maven仓库来使用consumer
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.0.0</version>
</dependency>
2.3 Streams API
流API允许转换输入的topic流到输出的topic流
下边例子展示怎样使用java 库.
使用流API额外文档在这.
依赖maven仓库
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>3.0.0</version>
</dependency>
当你使用scala时,你可以选择包含kafka-streams-scala
的库.额外文档在为scala 使用 kafka Streams DSL在开发者指南.
使用Scala2.13的 Kafka Streams DSL,你可以使用下边依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams-scala_2.13</artifactId>
<version>3.0.0</version>
</dependency>
Connect API
连接API允许实现连接器,它持续拉数据从数据源系统或应用,或推数据 从kafka到其它系统或应用.
很多用户连接不需要直接使用这个API,尽管这样,你可以使用预制的连接器而不需要写任何代码.额外信息可使用的连接器.
那这些是想要自定义实现连接器的javadoc
2.5 Admin API
管理者 Api 允许管理 或嗅探topic,brokers或其它kafka对象.
maven依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.0.0</version>
</dependency>
更多关于Admin APIs信息,查看 javadoc