대중적인 스트리밍 시스템
스트리밍 개념
Mike Metzger
Data engineer
스트리밍 도구
- 필요에 따라 여러 도구 사용 가능
- 설계자가 최적의 도구를 선택 가능
- 대표 시스템:
- Celery
- Kafka
- Spark Streaming
Celery
- 분산형 작업 큐 / FIFO
- 주로 잡/작업 큐로 사용
- 비동기 작업에 자주 사용
- 비밀번호 재설정 이메일 발송
- 디지털 주문 처리
- 이미지 크기 변경
- 대량 메시지의 실시간 처리 지원
- 관리·확장 기능 제공(수직/수평)
Apache Kafka
- 분산형 이벤트 스트리밍 시스템
- 프로듀서와 컨슈머 간 이벤트 전송용
- 프로듀서는 토픽에 이벤트 생성
- 토픽은 지정 형식의 메시지 집합
- 컨슈머는 새 이벤트 수신
- 컨슈머별로 필요에 따라 처리 가능(로깅, 변환, 릴레이 등)
- 지정에 따라 이벤트 저장 처리
- 매우 강력하지만 구성이 까다로움

Kafka 활용
- 여러 시스템 간 데이터 전달에 최적
- 단일 진실 소스
- 변경 데이터 캡처
- 데이터 백업
- 데이터 시스템 마이그레이션
Spark Streaming
- Apache Spark의 일부
- 스트리밍 데이터 처리용 설계
- Spark의 Scala, Python, SQL 등 처리 기능을 활용
- 대량 데이터 처리 및 머신러닝에 유용
- 배치에서 스트림 처리로 쉽게 전환 가능
- 저장/로그용이 아니라 주로 데이터 처리·변환용
Preparing Video For Download...