Apache Nifi?
소프트웨어 시스템 간 데이터 흐름을 자동화하도록 설계된 Apache 오픈 소스
분산 환경에서 많은 데이터를 수집하고 처리하는 데 사용한다.
애플리케이션을 블랙박스 프로세스의 네트워크로 정의하는 프로그래밍 패러다임인 FBP(Flow Based Programming)을 기본 설계 개념으로 한다.
공식 문서 : https://nifi.apache.org/docs/nifi-docs/html/user-guide.html
특징
장점 | 단점 |
실시간 처리에 강력함 | 배치 작업에 취약 |
장애 발생에도 데이터를 유실하지 않는다. | 현재 실행 중인 내용 확인 불가 |
HTTPS 지원 | 복잡한 연산 불가 |
직관적인 인터페이스 | |
데이터 이동 경로 추적 가능 |
구성 요소
- FlowFile
속성(Attribute)와 내용(Content)으로 구성된 데이터 단위
데이터 이동 및 저장 시 필요한 정보가 키/값 형태로 속성에 저장되어 있다.
Processor 이동 시 복사본이 생성되어 추적 가능 - Processor
FlowFile 수집/변형/저장
150가지 이상의 Processor 종류 제공 - Connection
Processor를 연결하여 FlowFile 전달
우선순위, 만료, 부하 조절 기능을 제공하는 FlowFile의 대기 Queue - 기타
Flow Controller, Controller Service, Process Group, Remote Process Group, 내장 Web Server(Jetty)
구조