2020년 11월 12일 목요일

Apache Nifi [2] - Queued 설정


Queued 우측클릭->구성설정 버튼을 클릭하면 아래와 같이
설정할 수 있는 창이나온다.





FlowFile Expiration

FlowFile Expiration은 특정기간에 쌓인 데이터들 중 처리할 수 없는 데이터를 자동으로 제거할 수 있는 개념이다. 예를 들어 큐의 데이터 볼륨이 초과할 것으로 예상됬을 때, 유통기한을 우선 순위자와 함께 사용하여 우선 순위가 가장 높은 데이터를 먼저 처리한 후 일정 기간(예: 1시간) 내에 처리할 수 없는 것은 모두 삭제할 수 있다. 

만료 기간은 데이터가 NiFi 인스턴스에 들어간 시간을 기준으로 한다. 즉, 특정 연결의 FlowFile Expiration가 '1시간'으로 설정되어 있고 NiFi 인스턴스에 1시간 동안 있었던 파일이 해당 연결에 도달하면 만료된다. 

기본값 0초는 데이터가 절대 만료되지 않음을 나타낸다. '0초' 이외의 파일 만료를 설정하면 연결 라벨에 작은 시계 아이콘이 나타나기 때문에 흐름을 한눈에 볼 수 있다.







Back pressure

NiFi는 Back Pressure를 위한 두 가지 구성 요소를 제공한다. 임계값은 원본 데이터소스가 대기열에 존재할 수 있는 데이터 양을 나타낸다. 이를 통해 시스템이 데이터 오버런을 방지할 수 있다. 

제공되는 첫 번째 옵션은 "Back pressure object threshold"이다. 이것은 Back pressure를 적용하기 전에 대기열에 포함될 수 있는 FlowFiles 수를 나타낸다. 

두 번째 구성 옵션은 "Back pressure 데이터 크기 임계값"이다. 이것은 Back pressure를 적용하기 전에 대기열에 넣어야 하는 최대 데이터 양(크기)을 지정한다. (바이트의 경우 B, 킬로바이트의 경우 KB, 메가바이트의 경우 MB, 기가바이트의 경우 GB 또는 테라바이트의 경우 TB)

기본적으로 새로 추가된 각 연결dml  기본 Back pressure설정 값은 임계값 10,000개와 데이터 크기 임계값 1GB이다. 

활성화되면 연결 라벨에 작은 진행 표시줄이 나타나므로 캔버스의 흐름을 볼 때 이를 한눈에 볼 수 있다. 대기열 백분율에 따라 진행률 표시줄의 색 변경: 녹색(0~60%), 황색(61~85%), 적색(86~100%) 등이었다.




Load Balancing (부하 분산 전략)

NiFi는 데이터의 흐름을 클러스터 노드 전체에 분산시키기 위해 다음과 같은 로드 밸런싱 전략을 제공한다.
























Do not load balance : 클러스터의 노드 간에 FlowFiles를 로드 밸런싱하지않는다(기본값).

Partition by attribute : 사용자 지정 FlowFile 특성의 값에 따라 데이터를 보낼 노드를 결정한다. 속성 값이 동일한 모든 FlowFiles는 클러스터의 동일한 노드로 전송된다. 대상 노드가 클러스터에서 분리되거나 통신할 수 없는 경우, 노드가 다시 사용 가능해질 때까지 기다린다. 

Round robin : FlowFiles는 라운드 로빈 방식으로 클러스터의 노드에 배포된다. 노드가 클러스터에서 분리되거나 노드와 통신할 수 없는 경우, 해당 노드에 대기 중인 데이터는 자동으로 다른 노드로 재분산된다. 노드가 클러스터의 다른 노드처럼 데이터를 빠르게 수신할 수 없는 경우, 클러스터 전체의 데이터 배포 처리량을 극대화하기 위해 노드를 하나 이상 반복하여 건너뛸 수도 있다.

Single node : 모든 FlowFiles는 클러스터의 단일 노드로 전송된다. 어떤 노드로 전송되는지는 구성할 수 없다. 노드가 클러스터에서 분리되거나 노드와 통신할 수 없는 경우, 해당 노드에 대해 대기 중인 데이터는 노드를 다시 사용할 수 있을 때까지 대기열에 남아 있게 된다.



연결에 대해 로드 밸런싱 전략을 실행한 경우 연결에 로드 밸런싱 표시기(Load Balance Icon)가 나타난다.












Available Prioritizers (우선 순위 지정)

첫번째 이미지 탭의 오른쪽은 더 높은 우선순위 데이터가 먼저 처리되도록 대기열에서 데이터의 우선순위를 지정할 수 있는 기능을 제공한다. 우선순위 지정자를 위에서 아래로 끌 수 있다. 






참고 : https://nifi.apache.org/docs/nifi-docs/html/user-guide.html

댓글 없음:

댓글 쓰기