Kafka与尼菲的区别

t0ybt7op  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(672)

我是apachenifi的初学者,但到目前为止,我阅读的所有教程都谈到了kafka与nifi的集成。Kafka是如何与nifi互补的?为什么不直接用nifi来传递信息而不用kafka呢?
注意:我看到的所有教程都没有提到这一点。

xzv2uavs

xzv2uavs1#

在horthonworks社区问题上找到了一个有趣的答案,为了完整起见,我在这里与大家分享:
apachenifi和apachekafka是两种不同的工具,它们的用例可能略有重叠。以下是我对这两个项目目的的理解。
nifi是“一个易于使用、功能强大、可靠的数据处理和分发系统”
它是一个可视化工具(带有restapi),它实现了基于流的编程,使用户能够创建流,这些流将从各种不同的源获取数据,在处理数据时对数据执行丰富、路由等操作,并将结果输出到各种各样的目的地。在这个过程中,它捕获每个数据段(flowfile)的元数据(出处),以便于审计日志记录和故障排除。
“apache kafka将发布-订阅消息重新考虑为分布式提交日志”
它是发布-订阅模式的分布式实现,允许开发人员用不同的语言和大量的机器将程序相互连接起来。与其说它是处理数据的一体化解决方案,不如说它更像是分布式计算的构建块。

jgovgodb

jgovgodb2#

nifi和kafka的互补之处在于,nifi不像apachekafka那样是一个消息传递队列。相反,apachenifi是一种数据流管理工具,也称为数据物流工具。
让我们假设这个场景:您有消息(json格式)通过kafka传输,您希望验证消息以检查消息是否包含所有字段,如果这些字段有效,您希望消息在hbase中着陆。
nifi可以通过以下方法帮助您:
尼菲有 ConsumeKafka 可以使用kafka代理和组名配置的处理器。
使用nifi处理器 ValidateRecord 检查接收到的消息是否全部有效
如果它们有效,您可以将输出连接到 PutHBaseRecord 总之,nifi基本上阻止了您编写大量样板代码。在这种情况下,需要一个自定义逻辑来进行模式验证并写入hbase。

ct2axkht

ct2axkht3#

作为对前面答案的总结,这里有一个宝贵的资源,非常清楚地解释了如何结合这两种技术,特别是为什么要这样做,并举例说明。
我发现它非常有价值,每当我需要一个关于这个主题的记忆复习时,它都是一个很好的参考资料。
Kafka/尼菲:在一起更好
简而言之:
尼菲和Kafka是互补的
尼菲
•提供数据流解决方案
•从边缘到核心的集中管理
•强大的可追溯性,从数据诞生时开始的事件级数据来源
•交互式指挥和控制
•实时操作可见性
•数据流管理,包括优先级、背压和边缘智能
•全局数据流的可视化表示
Kafka
•提供持久的流存储
•低延迟
•分布式数据持久性
•生产者和消费者的分散管理
•还有更多。。。

相关问题