IT용어위키


아파치 플링크

아파치 플링크(Apache Flink)는 실시간 및 배치 데이터 스트리밍 처리를 위한 오픈소스 분산 처리 프레임워크이다.

개요

아파치 플링크는 대규모 데이터 스트림 처리를 위한 고성능 분산 처리 엔진이다. 스트리밍 데이터를 기본 처리 단위로 삼지만, 배치 처리 또한 스트리밍의 특수한 형태로 간주하여 일관된 API를 제공한다. 플링크는 정확히 한 번(exactly-once)의 상태 일관성과 이벤트 타임 처리 기능을 제공하여 신뢰성 높은 실시간 분석을 가능하게 한다.

특징

  • 실시간 스트리밍 및 배치 처리 지원
  • 상태 기반(Stateful) 스트리밍 처리
  • 정확히 한 번(exactly-once) 처리 보장
  • 이벤트 타임(Event Time) 및 윈도우(Window) 처리 기능
  • 다양한 소스 및 싱크 커넥터 지원(Kafka, HDFS, JDBC 등)
  • Flink SQL 및 Table API를 통한 고수준 질의 처리
  • 고가용성 및 장애 복구 기능 지원

구성 요소

  • JobManager: 작업의 전체 수명 주기를 관리하며, 작업 스케줄링 및 장애 복구를 담당한다.
  • TaskManager: 실제 사용자 작업을 실행하며, 각각의 연산(Task)을 병렬로 처리한다.
  • Dispatcher & ResourceManager: 클러스터 자원 관리를 담당하며, 다양한 배포 모드(Kubernetes, YARN 등)를 지원한다.

주요 사용 사례

  • 실시간 로그 분석 및 모니터링
  • 사기 탐지 시스템
  • 실시간 추천 시스템
  • 금융 거래 스트림 처리
  • IoT 센서 데이터 분석

역사

아파치 플링크는 독일 베를린의 TU Berlin에서 시작된 Stratosphere 프로젝트에서 유래되었으며, 2014년 아파치 인큐베이터 프로젝트로 채택되었다. 2015년에는 정식 아파치 탑레벨 프로젝트로 승격되었다.

관련 프로젝트

  • Apache Kafka: 메시지 브로커로 Flink와 자주 함께 사용된다.
  • Apache Beam: Flink를 실행 엔진으로 사용할 수 있는 범용 데이터 처리 모델을 제공한다.
  • Apache Spark: 유사한 기능을 제공하는 데이터 처리 프레임워크로 Flink와 비교된다.

같이 보기

참고 문헌

  • Kostas Tzoumas, Fabian Hueske. *Streaming Systems: The What, Where, When, and How of Large-Scale Data Processing*. O'Reilly Media, 2019.
  • Fabian Hueske. *Stream Processing with Apache Flink*. O'Reilly Media, 2019.

각주


  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!