아파치 카프카(Apache Kafka) 입문: 실시간 분산 이벤트 스트리밍
강좌 소개
우버, 링크드인, 넷플릭스 등 빅테크 기업의 실시간 데이터 파이프라인 중추를 담당하는 아파치 카프카(Apache Kafka)의 아키텍처와 프로그래밍 실무를 다룹니다.
토픽(Topic), 파티션(Partition), 프로듀서(Producer), 컨슈머(Consumer)의 내부 동작 메커니즘을 상세히 분석하고, 파이썬(confluent-kafka)을 활용하여 메시지를 신뢰성 있게 발행하고 소비하는 실시간 스트리밍 데이터 파이프라인을 구축합니다.
이 강좌에서 배우는 것들
- 분산 커밋 로그(Commit Log) 기반 카프카 아키텍처의 핵심 이해
- 파티션 분할과 컨슈머 그룹(Consumer Group)을 통한 수평 확장성 확보
- 프로듀서 전송 보장(Acks 0, 1, all)과 Exactly-Once 시맨틱스 이해
- 파이썬 클라이언트를 활용한 실시간 이벤트 수집 파이프라인 구현
교육 과정 (Curriculum)
Section 1: 카프카의 핵심 아키텍처와 브로커
- 메시지 큐(RabbitMQ)와 이벤트 스트리밍(Kafka)의 결정적 차이
- 카프카 클러스터, 브로커, 토픽, 파티션의 논리적/물리적 구조
- 도커 컴포즈(Docker Compose)를 활용한 멀티 브로커 카프카 클러스터 구축
Section 2: 프로듀서와 컨슈머 프로그래밍
- 프로듀서의 메시지 전송 과정과 레코드 배치(Batch) 메커니즘
- 파티셔너(Partitioner)와 메시지 키(Key) 기반 순서 보장 전략
- 컨슈머 그룹(Consumer Group)과 리밸런싱(Rebalance) 동작 원리
Section 3: 신뢰성 보장과 실시간 파이프라인 프로젝트
- 데이터 유실 없는 설정을 위한 acks, min.insync.replicas 튜닝
- 컨슈머 오프셋(Offset) 수동 커밋과 Exactly-Once 처리
- 실시간 웹사이트 클릭스트림 이벤트 수집 및 가공 파이프라인 완성
필수 조건
- 파이썬 기초 문법 및 리눅스/도커 기초
수강 대상
- 실시간 데이터 스트리밍 시스템을 구축하려는 백엔드/데이터 엔지니어
- 마이크로서비스(MSA) 간 비동기 이벤트 기반 아키텍처를 도입하려는 개발자
- 카프카의 내부 동작 원리와 성능 튜닝을 체계적으로 배우려는 학습자