Nifi和Mini NiFi的区别

Difference between Nifi and Mini NiFi (MiNiFi)

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

我们还有其他功能吗?为什么有必要介绍它?

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

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

Apache MiNiFi 的开发是出于将 NiFi 的功能带到 "edge" 作为 "agents" 的公认需求——从物联网和桌面级设备访问数据,并应用尽早了解 NiFi 的主要特征。现在可以从各种协议收集数据,立即生成数据来源以实现更全面的治理和透明度,在源头应用轻型转换,进行加密,确定优先级,并冗余路由回在云中完成的更强大的转换或数据中心。

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

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

最近在 TU-Automotive Detroit 展览会上展示的一个演示展示了 MiNiFi 的强大功能和实用性,MiNiFi 被加载到 custom Qualcomm modem located in a "connected car". As the car drives, massive amounts of data are generated by components throughout the car and routed via the CANBUS to be processed. Some data is important to stream back to a remote processing center in real-time -- this data is transmitted via an LTE connection. LTE is widely available, but bandwidth is expensive. Meanwhile, data that was much larger but less time-relevant (system diagnostics, etc.) could be batched and compressed, and then sent in bursts over WiFi when the car was in range of a known hotspot. MiNiFi coordinated all of the flow decisions and routing via geo-enrichment and control plane feedback. Here is a short video of Joe Niemiec explaining the process and showing the flow 上。

您可以将该演示外推到许多其他用例。将 MiNiFi 视为 "good guest" 是有帮助的——一种轻量级代理,运行 在可能专用于不同主要目的的硬件上。这是否是物联网、现金 register/point 销售系统、汽车调制解调器、物理传感器等,与 MiNiFi 无关——它的工作是处理和导出这些数据,同时不从主要功能中占用不必要的资源.将此与 NiFi 进行对比,NiFi 可以 运行 同时与其他应用程序同时运行,但理想情况下,它拥有专用资源,可以最大限度地提高自身性能。

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

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

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