위키득계정 ↗
기술

Apache Storm

Apache Storm기술
시스템 유형
분산 실시간 계산
처리 대상
끝나지 않는 자료 스트림
실행 그래프
Topology
기본 구성
Spout와 Bolt
Apache Storm은 끝없이 들어오는 자료 흐름을 처리하는 분산 실시간 계산 시스템이다. 입력과 연산을 Topology라는 그래프로 연결하고 여러 작업자가 각 부분을 병렬로 실행한다.

입력과 처리 노드

Spout는 외부 원천에서 자료를 받아 스트림을 만든다. Bolt는 입력 스트림을 처리하고 필요하면 새로운 스트림을 내보낸다. 필터와 집계 및 조인처럼 여러 단계가 필요한 작업은 여러 Bolt를 연결해 표현한다.

계속 실행되는 Topology

Topology는 노드의 계산과 노드 사이의 자료 전달을 나타내는 그래프다. 한 번 제출한 뒤 입력을 계속 처리하며 중지할 때까지 실행할 수 있다. 각 노드의 병렬 작업 수와 작업 사이의 자료 분배 방식을 설정한다.

클러스터의 작업 배치

Nimbus는 코드를 배포하고 장비에 작업을 할당하며 장애를 감시한다. 작업 장비의 Supervisor는 할당에 따라 작업 프로세스를 시작하거나 멈춘다. 여러 장비가 Topology의 일부를 나누어 실행하는 구조다.

관련 문서

Apache Samza / Apache Beam / Apache Tez / ZooKeeper / MillWheel 스트림 처리 / Dataflow 처리 모델