《KAFKA官方文档》5.2 APIs

2. APIs

Kafka包含四种核心的API:

  1. Producer API支持应用将数据流发送到Kafka集群的主题。
  2. Consumer API支持应用从Kafka集群的主题中读取数据流。
  3. Streams API支持数据流从输入主题转化到输出主题。
  4. Connect API支持实现持续地从一些源系统或应用划入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已被弃用,仅仅出于兼容的目的而存在。 有关他们的信息可以在 这里找到。

转载自 并发编程网 - ifeve.com

时间: 2024-07-31 20:24:52

《KAFKA官方文档》5.2 APIs的相关文章

《KAFKA官方文档》翻译邀请

之前在北京面试,很多应聘者都提到自己使用过KAFAKA,所以计划组织同学们翻译<KAFKA官方指南>,欢迎有兴趣的同学参与. 如何领取 通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节.领取完成之后,译文最好在一个星期内翻译完成,不要超过两周,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译.请谨慎领取,很多文章领取了没有翻译,导致文章很长时间没人翻译. 如何提交? 翻译完成之后请登录到并发网提交成待审核状态,会有专门的编辑校对后进行发布.如果多篇文

《Kafka 官方文档》 介绍

介绍 Apache Kafka 是 一个分布式数据流平台. 这意味什么呢? 我们认为一个数据流平台有三种能力: 它让你发布和订阅数据流. 在这方面他与消息队列或企业级消息系统很像. 它让你具有很强容灾性的存储数据流. 它让你及时的处理数据流. 那么Kafka适合做什么呢? 它通常被使用在两大类应用中: 搭建可以使数据在系统或应用之间流动的实时数据流管道(pipelines) 搭建可以针对流数据实行实时转换或作出相应反应的数据流应用 为了了解Kafka具体如何实现这些功能, 我们来从底层开始,探索

《KAFKA官方文档》设计与实现(一)

5.设计与实现(IMPLEMENTATION) 5.1 API 设计 生产者 APIS 生产者API包含2个producers-kafka.producer.SyncProducer和kafka.producer.async.AsyncProducer.示例代码如下: class Producer { /* Sends the data, partitioned by key to the topic using either the */ /* synchronous or the async

《KAFKA官方文档》入门指南(一)

1.入门指南 1.1简介 Apache的Kafka是一个分布式流平台(a distributed streaming platform).这到底意味着什么? 我们认为,一个流处理平台应该具有三个关键能力: 它可以让你发布和订阅记录流.在这方面,它类似于一个消息队列或企业消息系统. 它可以让你持久化收到的记录流,从而具有容错能力. 它可以让你处理收到的记录流. Kafka擅长哪些方面? 它被用于两大类应用: 建立实时流数据管道从而能够可靠地在系统或应用程序之间的共享数据 构建实时流应用程序,能够变

《KAFKA官方文档》入门指南(五)

新的协议版本 ListOffsetRequest V1支持精确的基于时间戳的偏移搜索. MetadataResponse V2引入了一个新的参数: "CLUSTER_ID". FetchRequest v3支持限制请求返回的大小(除了现有的每个分区的限制),它能够返回比限制更大的消息和在请求中加入分区的顺序具有重要意义. JoinGroup V1引入了一个新的字段: "rebalance_timeout". 升级0.8.4或0.9.x版本到0.10.0.0 0.10

《Kafka官方文档》设计(一)

Design 1. Motivation 我们设计Kafka用来作为统一的平台来处理大公司可能拥有的所有实时数据源.为了做到这点,我们必须思考大量的使用场景. 它必须有高吞吐去支持大数据流,例如实时日志聚合. 它必须优雅的处理数据积压,以支持定期从离线系统加载数据. 这也以为这系统必须支持低延迟的分发来处理传统消息系统的场景. 我们想支持分区的.分布式的.实时的处理数据源并创建新的数据源,这推动了我们的分区和消费模型. 最后,将流反馈到其他系统进行服务的情况下,我们知道系统必须能够保证容错性,在

《KAFKA官方文档》第三章:快速入门(二)

第八步:使用Kafka流(Kafka Streams)处理数据 Kafka流是一个针对存储于Kafka brokers上的数据进行实时流处理和分析的客户端类库.快速入门中的示例将展示如何使用这个类库实现一个数据流处理应用.下面是其中的WordCountDemo数单词示例代码片段(转换成Java8的lambda表达式更便于阅读). "` // 字符串和长整型的序列化器与反序列化器(serde) final Serde stringSerde = Serdes.String(); final Ser

《KAFKA官方文档》入门指南(三)

第7步:使用Kafka连接导入/导出数据 从控制台写入数据和写回控制台是一个很方便入门的例子,但你可能想用Kafka使用其他来源的数据或导出Kafka的数据到其他系统.相对于许多系统需要编写定制集成的代码,您可以使用Kafka连接到系统去导入或导出数据. Kafka Connect是包括在Kafka中一个工具,用来导入导出数据到Kafka.它是connectors的一个可扩展工具,其执行定制逻辑,用于与外部系统交互.在这个快速入门,我们将看到如何使用Kafka Connect做一些简单的连接器从

《Kafka官方文档》设计(二)

6. Message Delivery Semantics 现在我们对Producer和Consumer已经有了一定的了解,接着我们来讨论Kafka在Producer和Consumer上提供的语义.显然的,在分发消息时是可以有多种语义的: At most once:消息可能丢失,但不会重复投递 At least once:消息不会丢失,但可能会重复投递 Exactly once:消息不丢失.不重复,会且只会被分发一次(真正想要的) 值得注意的是这分为两个问题:发布消息的可用性和消费消息的可用性.