Nifi的主要优点有:
A.可视化的UI界面,各个模块组件之间高度可配置,且每个流程都有监控,可以通过界面直观的看到各个数据处理模块之间的数据流转情况,分析出程序性能瓶颈。
B.数据流可以在UI界面自由拖拽和拓展,各模块之间相互独立,互不影响。
C.可以在处理耗时的地方创建多个处理模块并行执行,提升处理速度。类似于代码中加入了多线程,但相对于修改代码,界面配置操作十分简单。
D.修改方便,任意模块都可以在数据流转过程中随时启停,任意处理模块都可以实现热插拔。数据流流向随时可变。
E. Nifi的对处理模块有对应的retry机制和错误分发机制,且可配置性强。
缺点:
各个步骤中间结果落地导致磁盘IO成为Nifi的瓶颈,这个缺点在数据冗余量越大的时候表现的越明显。
以下是NIFI的一些高级功能和目标:
基于Web的用户界面
设计,控制,反馈以及监控之间无缝衔接
高度可配置
容错和保证交付
低延迟以及高吞吐
支持动态分区
数据流可以在运行时修改
背压设计
数据源
跟踪数据从头到尾
为扩展而设计
构建自己的处理器
能够快速开发和有效测试
安全
SSL,SSH,HTTPS,内容加密等
多租户授权和内部授权/策略管理