apache Nifi 概述

Apache NiFi Teamdev@nifi.apache.org


Nifi的目标是构建一个自动化数据流处理架构,这里提到的数据流特指自动化和可管理的信息流,这种信息流是系统间交互的主要形式。自从企业中出现多个系统之后,要面临的首要任务是解决数据生产系统与数据处理系统之间的数据处理流。目前为止,人们已经深入探讨这种消息流和解决模式,一种可行的方案消息处理模式是EPIenterpriseintegration patterns).


除了上面讲到的EIP, 数据流还面临一些更高的挑战:

1 System fail 失败的处理机制

如面对网络传输问题,磁盘存储问题,系统崩溃,操作人员处理


2 Data access exceeds capacity toconsume 数据处理成为瓶颈

有时,数据源头产生数据的速度远远超过数据处理和数据传输的速度,此时整个系统有一个很严重的瓶颈。


3 boundary conditions are meresuggestions 异常数据处理

不可避免会出现数据太大,数据碎片,数据传输太慢,数据损坏,问题数据以及及数据格式错误


4 what is noise one day becomes signalthe next 业务快速演进

快速数据处理业务的调整,新业务流程和原有业务升级改造


5 systems evolve at different rates多系统升级不同步引入的前后兼容

原有系统的协议和数据格式,会伴随系统的升级有一定的调整,同时单个系统的升级会影响周边系统。数据流可以把多个大型分布式系统串边在一起,这些系统可以是松散地,甚至设计之初就没考虑未来地集成


6 compliance and security 兼容性和安全性

法律法规的变更,规章制度的变动,以及政策调整,业务合同的变更。系统和系统之间,系统和用户接口之间要安全,可信和权责分明。


7 continuous improvement occurs inproduction 生产环境平滑升级

在实验验证环境很难复制生产环境


nifi核心概念

Nifi的基础设计理念和FBP(flowbased programming)的想法同出一辙。以下是nifi的概念,以及和fbp相对应内容。

Nifi 名词

FBP名词

描述

FlowFile

Information Packet

FlowFile是系统间传输的对象,nifi会追踪每个Key/Value属性对,以及相关的内容字节流

FlowFile Processor

Black Box

处理器负责执行操作,在EIP中,处理器可以实现数据路由的合并,变换,及系统间协调。处理器可以读取FlowFile的属性和流数据。处理器可以操作工作单元中多个FlowFile,也可以提交或回退提交的任务。

Connection

Bounded Buffer

连接器将处理器关联在一起,将多个处理器串联并实现处理器之间不同速率的交互。也可以动态调整队列优先级。andhave upper bounds on load, which enable back pressure.

Flow Controller

Scheduler

流控制器维护处理之间的连接关系,管理和分配处理器使用的线程。流控制器在其中促成处理器间FlowFiles文件的交换

Process Group

subnet

处理器组是特定的处理器、连接器的集合。这个处理器组通过输入端口接收数据,通过输出端口发送数据。使用处理器组可以构造新的组合。



没有更多推荐了,返回首页