입력의 끝이 있는 경우와 없는 경우
무한 스트림은 모든 입력이 도착할 때까지 기다릴 수 없어 자료가 들어오는 동안 계속 처리해야 한다. 유한 자료는 시작과 끝이 정해져 있어 전체 범위를 대상으로 처리 전략을 선택할 수 있다. Flink는 두 경우를 함께 지원한다.
병렬 작업과 실행 자원
응용을 여러 작업으로 나누어 클러스터에서 동시에 실행한다. YARN과 Kubernetes 같은 자원 관리자에 연결하거나 독립 클러스터로 구성할 수 있다. 병렬도 설정에 따라 필요한 자원을 요청한다.
상태 보관과 장애 복구
작업은 자주 사용하는 상태를 가까이 두고 접근하며 크기에 따라 메모리나 디스크 기반 구조를 활용한다. 상태를 주기적으로 영구 저장소에 체크포인트로 기록해 장애 복구에 사용한다. 정확히 한 번이라는 상태 일관성의 보장은 외부 시스템의 모든 부작용과 구분해 이해해야 한다.
관련 문서
Apache Beam / Apache Samza / Apache Storm / Dataflow 처리 모델 / Naiad 자료 흐름 시스템 / MillWheel 스트림 처리