상위: Data Engineering
요약
Apache Flink는 진정한 실시간 스트림 처리 프레임워크입니다. 이벤트 기반의 record-by-record 처리 방식으로 밀리초 수준의 초저지연을 제공하며, Exactly-once 보장과 강력한 상태 관리를 지원합니다.
핵심 개념
기본 개념
- Introduction - Flink 개요, 등장 배경, 특징
- Architecture - JobManager, TaskManager, Workflow
- Installation - 설치 및 환경 설정
- Basic Example - 기본 코드 구조, WordCount 예제
DataStream API
- DataStream API - API 개요, DAG, Source, Sink
- Transformations - map, flatMap, filter, keyBy, reduce, process
- Advanced Transformations - union, connect, rebalance, rescale
- Stream Iteration - 스트림 분할 및 반복 처리
상태 관리
- State Management - 상태 개념, 유형, 관리
- Checkpointing - 체크포인트 개념, Barrier, 복구
- Savepoint - SavePoint 사용법
윈도우 처리
- Window Concepts - 윈도우 개념 및 종류
- Window Implementation - 코드 구현 예제
- Triggers - Trigger 개념 및 커스텀 구현
- Evictors - Evictor 개념 및 예제
- Watermarks - Watermark, Event Time vs Processing Time, Late Elements
고급 기능
- Flink vs Spark - Spark와의 비교, 선택 기준
- Kafka Integration - Kafka와 Flink 실시간 처리 통합
- Batch Processing - Flink Table API 배치 처리
핵심 특징
- True Streaming: record-by-record 이벤트 기반, 밀리초 지연 → Introduction
- Exactly-once 보장: Checkpointing · Savepoint
- 강력한 상태 관리: State Management (Keyed / Window / Operator State)
- 이벤트 타임 + Watermark: Watermarks
- 아키텍처(JobManager / TaskManager): Architecture
대표 사용 케이스
- 실시간 Fraud Detection — 밀리초 반응 + 복잡한 패턴 매칭(CEP)
- 실시간 모니터링 — 로그 분석·알림, 이벤트 타임 기반
- IoT 스트리밍 — 센서 데이터 상태 기반 연산
- 실시간 추천 — 세션 윈도우로 사용자 행동 즉시 반영
Spark와의 선택
Flink(진짜 실시간·복잡 이벤트·상태 연산) vs Spark(배치+스트리밍 통합·ML·낮은 진입장벽) — 자세한 비교는 Flink vs Spark.
관련 주제
- Streaming Architecture - 스트리밍 아키텍처 패턴
- Spark - 마이크로 배치 대안
- Batch vs Real-time - 처리 방식 비교