Apache Nifi

Apache Nifi

비번변경 2021. 6. 27. 21:30

Apache Nifi?

Nifi logo

소프트웨어 시스템 간 데이터 흐름을 자동화하도록 설계된 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)

 

 

구조

Nifi Architecture

 

 

참고 문서

https://www.slideshare.net/combineads/nifi-69730250