Apache Kafka는 분산 이벤트 스트리밍 플랫폼으로, 이벤트(레코드) 스트림을 발행, 저장, 처리하기 위한 고처리량의 내구성 있는 시스템입니다. 메시징, 실시간 데이터 파이프라인, 이벤트 기반 아키텍처, 대규모 스트림 처리에 사용됩니다.
Kafka란
Kafka = 분산, 내구성, 고처리량 EVENT STREAMING 플랫폼:
→ 이벤트를 PUBLISH(producer가 쓰기)하고 SUBSCRIBE(consumer가 읽기)
→ 이벤트 스트림을 내구성 있게 STORE(분산, 복제된 커밋 LOG)
→ 스트림을 실시간으로 PROCESS
→ 여러 시스템이 쓰고 읽을 수 있는, 내구성 있고 확장 가능한 추가 전용(append-only) 이벤트 LOG로
생각하면 됩니다
Kafka의 용도
✓ MESSAGING / 이벤트 스트리밍 → 시스템 간 결합도를 낮춘 통신(대규모 pub/sub)
✓ DATA PIPELINES → 시스템 간 데이터를 안정적으로 이동/스트리밍(수집, ETL)
✓ EVENT-DRIVEN 아키텍처 → 서비스가 이벤트에 반응; event sourcing
✓ REAL-TIME 처리 → 분석, 모니터링, 스트림 처리(Kafka Streams)
✓ LOG 집계, 메트릭, 활동 추적, 변경 데이터 캡처(CDC)
→ 대용량 실시간 데이터를 위해 대형 기업들이 사용합니다
