Kafka Streams相关的stream和stream processor概念介绍

本文将对Kafka Streams相关的概念进行简要介绍,主要包括Kafka Streams对数据流的定义、流处理的概念。

流(stream)是Kafka Streams提供的最重要的抽象,它代表的是一个无限的、不断更新的数据集。一个流就是由一个有序的、可重放的、支持故障转移的不可变的数据记录(data record)序列,其中每个数据记录被定义为一个键值对。Kafka流的基本结构如图所示。

15755641-f71a61adc28742c9.png
Kafka流基本结构

一个流处理器(stream processor)是处理拓扑中的一个节点,它代表了拓扑中的处理步骤。一个流处理器从它所在的拓扑上游接受数据,通过Kafka Streams提供的流处理的基本方法,如map()、filter()、join()以及聚合等方法,对数据进行处理,然后将处理后的一个或多个输出结构发送给下游处理器。一个拓扑中的数据处理器当中有Source处理器和Sink处理器两个特殊的流处理器。

(1)Source处理器:在一个处理拓扑中该处理器没有任何上游处理器。该处理器从Kafka的一个或多个主题消费数据作为处理拓扑的输入流,将该输入流发送到下游处理器。

(2)Sink处理器:在一个处理拓扑中该处理器没有任何下游处理器。该处理器将从上游处理器接收到的任何数据发送到指定的主题当中。

转载于:https://www.jianshu.com/p/fb1c4c4c3e24

猜你喜欢

转载自blog.csdn.net/weixin_34326179/article/details/91282764