Nifi和Mini NiFi(MiNiFi)之间的区别

Posted

技术标签:

【中文标题】Nifi和Mini NiFi(MiNiFi)之间的区别【英文标题】:Difference between Nifi and Mini NiFi (MiNiFi) 【发布时间】:2016-11-25 06:57:20 【问题描述】:

我只是想知道 mini NiFi MiNiFi 与 NiFi 有何不同?

我们有什么额外的功能吗?为什么需要介绍它?

任何想法或链接都会有很大帮助。

【问题讨论】:

【参考方案1】:

Apache NiFi 是一个强大且安全的框架,用于跨多个系统路由、转换和交付数据。 NiFi 可以与其他应用程序并行运行,但当整个系统(或集群中的多个系统)专用于它时,它的性能最好。它经常使用 TB 级别的 SAN 或 RAID 存储来处理其摄取的大量内容和生成的出处。 UI 允许多个用户在同一台​​机器上或跨集群同时快速修改流。 NiFi 的最新候选版本 (1.1.0 RC1) 包括 170 多个处理器,用于与各种系统和操作进行自定义集成,压缩下载时为762 MB。换句话说,NiFi 是一个服务器级的应用程序。

Apache MiNiFi 的开发是为了将 NiFi 的功能作为“代理”带到“边缘”——从物联网和桌面级设备访问数据,并尽早应用 NiFi 的主要功能。阶段。现在可以从各种协议中收集数据,立即生成数据来源以实现更全面的治理和透明度,在源头应用轻度转换,加密,优先处理,并冗余路由回在云中完成的更强大的转换或数据中心。

现在,所有这些行为都可以使用自定义脚本来执行,但是会遇到命令和控制 (C2) 的问题。现有数百、数千甚至数百万个这样的设备,如何监控和删除每个设备,当流量需要更改时会发生什么?可能是向新端点报告,更新收集或传输它的频率,或者处理来自设备的新指标或元数据。此手动过程无法扩展。通过 MiNiFi 与 NiFi 的集成,可以使用 NiFi 中的 UI 开发流程,并透明地转换为 MiNiFi 流程并推送到世界各地的代理类别。

通过手动修改以删除不必要的处理器和功能,可以修剪 NiFi 以适应 Raspberry Pi。但它仍然需要 JVM,并且有很多设备不支持它。 MiNiFi 以 Java 和 C++ 提供,占用空间完全不同——39 MB 用于 Java 代理 (tar),310K 用于 C++ 代理 (tar)。

最近在 TU-Automotive Detroit 展会上展示了 MiNiFi 的强大功能和实用性的一个很好的例子,其中 MiNiFi 被加载到位于“联网汽车”中的 custom Qualcomm modem。当汽车行驶时,整个汽车的组件会生成大量数据,并通过 CANBUS 路由进行处理。一些数据对于实时流回远程处理中心很重要——这些数据通过 LTE 连接传输。 LTE 广泛可用,但带宽昂贵。同时,更大但时间相关性较低的数据(系统诊断等)可以进行批处理和压缩,然后在汽车处于已知热点范围内时通过 WiFi 突发发送。 MiNiFi 通过地理丰富和控制平面反馈协调所有流量决策和路由。这是Joe Niemiec explaining the process and showing the flow的短视频。

您可以将该演示推广到许多其他用例。将 MiNiFi 视为“好客人”是有帮助的——一种在硬件上运行的轻量级代理,可能专用于不同的主要目的。无论是物联网、收银机/销售点系统、汽车调制解调器、物理传感器等,都与 MiNiFi 无关——它的工作是处理和提取这些数据,同时不从主要功能中占用不必要的资源。将此与 NiFi 进行对比,后者同样可以与其他应用程序同时运行,但理想情况下,它具有专用资源,可以最大限度地提高自身性能。

【讨论】:

【参考方案2】:

NiFi :它有更多没有。预定义处理器,具有用户界面,您可以在其中监控、在运行时配置任何内容,您可以编写自己的处理器。

MiNiFi:没有少。与 NIFI 相比,处理器(重量轻)。易于部署。但它没有用户界面。您可以将其与 NIFI 集成。

【讨论】:

【参考方案3】:

虽然 NiFi 大、健壮且处理器列表非常漂亮,但它具有相当大的 JVM 占用空间,但 MiNiFi 体积小且资源消耗低。使用 MiNiFi,您可以在聚合或使用 NiFi 处理器执行更多操作之前将一些预处理靠近源系统。 MiNiFi 也没有接口,但相对容易部署。

【讨论】:

以上是关于Nifi和Mini NiFi(MiNiFi)之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何使用NiFi等构建IIoT系统

Apache NiFi 概述

Apache Beam 和 Apache Nifi 之间的区别

Apache NiFi 中处理器属性和流文件属性之间的区别

数据湖:数据同步工具NiFi

数据湖:数据同步工具NiFi