✅ Kafka 개요
- Apache Kafka: 대규모 실시간 데이터 처리를 위한 분산 이벤트 스트리밍 플랫폼
- LinkedIn에서 개발 → 오픈소스화 → 지금은 Apache 재단에서 관리
- 데이터 파이프라인, 로그 수집, 이벤트 소싱 등에 최적화
✅ 주요 특징
- 높은 처리량: 초당 수백만 메시지 처리
- 내결함성(Fault Tolerance): 장애가 발생해도 데이터 손실 없이 처리
- 수평 확장성: 노드를 추가하여 확장 용이
- 데이터 유지: 기본적으로 메시지를 디스크에 저장, 로그처럼 관리
- 실시간 스트리밍 처리 가능
Kafka의 핵심 구성 요소
1️⃣ Zookeeper
- Kafka 클러스터의 메타데이터 관리
- 브로커 상태를 모니터링하고, 장애 감지 및 리더 선출 등 브로커 조율
- Kafka 2.8 이후로는 KRaft 모드(Zookeeper 없이 운영)도 가능하지만, 대부분 Zookeeper 사용
2️⃣ Broker
- Kafka 서버 역할
- 클러스터의 일부로 동작, 데이터를 저장/관리
- 여러 개의 브로커가 하나의 클러스터를 구성 → 데이터 분산