为什么使用kafka与flink

时间:2017-04-04 10:07:29

标签: apache-kafka apache-flink

我目前正在使用flink发现Stream处理的域名。但是,到目前为止,我读到的大多数专业文章都谈到了flink和kafka。然而,我没有找到一个明确的解释为什么这个二人组看起来如此逻辑并解释kafka所做的那些flink不能反之亦然。反之亦然。

到目前为止,我发现了以下内容: - flink不能与readCsvFile进行PROCESS_CONTINUOUSLY,而kafka可以在这方面提供支持, - kafka可以进行流聚合,但与kafka相比似乎有限(不确定)。

所以,请不要犹豫,添加您迄今为止使用这些系统的知识和经验。非常感谢你提前。

1 个答案:

答案 0 :(得分:3)

乍看之下,差异并不明显。

Apache Kafka是一种处理实时信息并以快速方式将其传递给消费者的解决方案,这意味着它是一个消息代理

Apache Flink是流处理框架。它涉及数据内存分布式计算。

话虽如此,基本上,Kafka将扮演消息路由器的角色,Apache Flink将处理数据。

正如您在下面的示例模式中看到的那样,Kafka将允许从异构源发布消息,而Apache Flink将通过应用窗口化或减少函数来处理这些数据。

enter image description here

如果你查看Kafka文档,他们在Kafka上引入了一个名为Kafka Stream的新功能(它不是原始Kafka的一部分)。这也是一个流处理框架,它能够像Apache Flink那样处理数据。