Apache Kafka 이란
이벤트 스트리밍 플랫폼
Apache Kafka는 실시간으로 대량의 데이터를 처리하도록 설계된 분산 이벤트 스트리밍 플랫폼입니다.
핵심 개념
- Topic — 메시지 구성을 위한 카테고리
- Partition — 병렬 처리를 위한 토픽 분할
- Producer — 메시지 발신자
- Consumer — 메시지 수신자
- Broker — Kafka 서버
- Consumer Group — 부하 분산을 위한 소비자 그룹
Kafka의 장점
- 높은 처리량 (초당 수백만 메시지)
- 수평적 확장
- 장기 메시지 저장
- 전달 보장 (at-least-once, exactly-once)
- 복제를 통한 내결함성
응용 분야
- 이벤트 기반 아키텍처 — 마이크로서비스 통신
- 로깅 — 중앙 집중식 로그 수집
- 데이터 스트리밍 — 실시간 분석
- ETL 파이프라인 — 데이터 통합
- IoT — 기기 데이터 처리
에코시스템
- Kafka Connect — 데이터베이스 커넥터
- Kafka Streams — Java 스트림 처리
- ksqlDB — 데이터 스트림용 SQL
- Schema Registry — Avro/JSON 스키마 관리