首页技术文章正文

Kafka Streams是什么?

更新时间:2022年12月22日 15时28分56秒 来源:黑马程序员

Kafa streams

Kafka Streams是Apache Kafka开源项目的一个流处理框架,它是基于Kafka的生产者和消费者,为开发者提供了流式处理的能力,具有低延迟性、高扩展性、高弹性、高容错性的特点,易于集成到现有的应用程序中。

Kafka Streams是一套处理分析Kalka中存储数据的客户端类库,处理完的数据可以重新写回Kafka,也可以发送给外部存储系统。作为类库,可以非常方便地嵌入到应用程序中,直接提供具体的类供开发者调用,而且在打包和部署的过程中基本没有任何要求,整个应用的运行方式主要由开发者控制,方便使用和调试。

在流式计算框架的模型中,通常需要构建数据流的拓扑结构,如生产数据源、分析数据的处理器以及处理完成后发送的目标节点,Kafka流处理框架同样是将“输入主题→自定义处理器→输出主题”抽象成一个DAG拓扑图,如图所示。

1609317843897_计算流程拓扑图.png


在上图中,生产者作为数据源不断生产和发送消息至Kafka的testStreams1主题中,然后通过自定义处理器(Processor)对每条消息根据不同的逻辑执行相应的计算,最后将结果发送到Kafka的testStreams2主题中供消费者消息数据。

需要注意的是,任务的执行拓扑图是一张有向无环图(DAG)。有向表示从一个处理节点到另一个处理节点是具有方向性的;无环表示不能有环路,因为一旦有环路,就会陷入死循环状态,任务将无法结束。


猜你喜欢:

Mapreduce工作原理介绍

大数据算法:计算找出热搜关键词

RDD是什么有哪些特征?

黑马程序员大数据培训课程

分享到:
在线咨询 我要报名
和我们在线交谈!