nifi 02 구조

junkyu lee·2022년 4월 22일
0
참조 
 - https://nifi.apache.org/docs.html

what is nifi

시스템 간의 데이터 흐름을 자동화하고 관리하기위한 도구

nifi 핵심 개념

FBP : Flow Based Programming

NiFi TermFBP TermDescription
FlowFileInformateion Packet시스템을 통해 이동하는 객체. 키/값 쌍의 속성 문자열 맵과 0바이트 이상의 관련 컨텐츠를 추적한다.
FlowFile ProcessorBlack Box실제 작업을 수행하는 프로세서. 지정된 FlowFile 및 컨텐츠 스트림의 속성에 접근할 수 있다. FlowFile에서 해당 작업의 커밋 및 롤백을 수행
ConnectionBounded Buffer프로세서간의 연결을 제공. 동적 우선순위 버퍼로 서로 다른 속도의 프로세서의 상호작용을 돕는다.
Flow ControlerScehduler프로세스 연결에 대한 지식을 유지, 모든 프로세스의 스레드와 배치를 관리, 프로세스 간의 FlowFile 교환을 용이하게 하는 브로커 역할
Process Groupsubnet데이터의 수신, 출력을 하는 프로세스의 연결 집합.

nifi architecture

Web Server

  • nifi를 http기반으로 제어하는 API를 호스팅, GUI를 활용하여 데이터 흐름을 제어하는 곳

Flow Controller

  • 프로세스의 스케쥴링을 관리

Extensions

  • 기본 제공 기능 외에 추가적인 기능을 구현 가능한 곳

FlowFile Repository

  • 활성화된 FlowFile의 속성값을 저장

Content Repository

  • FlowFile의 실제 데이터가 있는 곳

Provenance Repository

  • 모든 출처 데이터가 저장됨


nifi cluster (zookeeper)

  • nifi의 클러스터는 Zero-Leader Clustering
  • 각각의 노드는 동일한 작업을 수행하지만 각각 다른 데이터 셋에 대해 작동한다.
  • Apache ZooKeeper
    - Cluster Coordinator, Primary Node 선정
    • 장애 조치
  • Cluster Coordinator
    - 하트비트, 상태정보 관리,
    • 각 노드의 연결 관리
  • nifi 사용자는 어떤 노드의 GUI를 통해서든 nifi 클러스터와 상호작용 할 수 있다.
  • 변경사항은 클러스터의 모든 노드에 적용된다.
profile
가끔 기록하는 velog

0개의 댓글