Kafka 기초 (0) - Introduction
Kafka 기초 시리즈 소개와 진행 순서, 실습 환경 준비를 다룹니다.
이벤트 스트리밍 플랫폼 Kafka를 예제로 익히는 Kafka 기초 시리즈의 0편입니다. 시리즈 소개와 진행 순서를 다루며, 개념 정리가 1편, 실습은 2편부터 시작합니다.
무엇을 다루나
Kafka 하나를 도구로서 끝까지 다룹니다. event log라는 핵심 개념부터 Docker 기반 설치, console 도구로 하는 producer와 consumer 실습, topic과 partition의 순서 보장, consumer group과 offset, Python client 코드 작성, 그리고 유실 방지와 retention 같은 운영 기초까지가 범위입니다.
핵심만 압축한 단편은 Kafka 해부에 따로 있습니다. 이 시리즈는 그 한 편을 명령과 출력을 직접 확인하는 실습 중심으로 풀어 쓴 확장판입니다.
누구를 위한 시리즈인가
- Kafka가 메시지 큐와 뭐가 다른지 설명하지 못한 채 이름만 아는 사람
- consumer를 늘렸는데 처리량이 그대로라서 당황해 본 사람 (원인이 4편에 있습니다)
- CDC, 로그 수집, 실시간 피처처럼 이벤트 파이프라인을 만들어야 하는 사람
터미널 기본 조작과 container 실행을 전제로 합니다. docker run과 docker exec가 낯설면 Docker 기초 시리즈를 먼저 봅니다.
어떻게 진행하는가
여섯 편으로 진행하며, 순서는 아래와 같습니다.
| 편 | 주제 |
|---|---|
| (1) | What is Kafka: event log와 구성요소 |
| (2) | Installation and First Run: Docker로 띄우는 첫 broker |
| (3) | Topics and Partitions: key와 순서 보장 |
| (4) | Consumer Groups and Offsets: 나눠 읽기와 lag |
| (5) | Python Client: confluent-kafka로 쓰는 producer와 consumer |
| (6) | Operations Basics: 유실 방지, retention, 함정 |
1편이 개념, 2편이 설치와 첫 실행, 3편과 4편이 Kafka를 Kafka답게 만드는 핵심 구조, 5편이 애플리케이션 코드, 6편이 운영입니다. 2편부터는 매 편 터미널에서 명령을 실행하고 출력을 뜯어보는 방식으로 진행합니다.
실습 환경
- macOS Apple Silicon, Docker Desktop 기준. Kafka는 공식 image
apache/kafka:4.0.0을 씁니다 - broker 하나를 container로 띄워 시리즈 내내 재사용합니다. ZooKeeper는 필요 없습니다 (이유는 2편)
- 5편에서 Python 3.12와 confluent-kafka 패키지를 씁니다
같은 도구를 실제 파이프라인에 붙인 기록은 AWS ML CI/CD와 CDC 파이프라인 구축 4편에 있습니다. Debezium이 MySQL의 변경 이력을 Kafka로 흘려보내고 JDBC sink가 PostgreSQL에 반영하는 구성으로, 이 시리즈를 마치면 그 글의 구조가 그대로 읽힙니다.