📝 Kafka란?
Kafka는 실시간 데이터 스트리밍을 처리하기 위한 분산 메시징 플랫폼이다. 대용량 데이터를 빠르게 전달하고, 메시지를 안정적으로 처리할 수 있도록 설계되어 있다.
핵심 개념
- Producer: 데이터를 Kafka로 전송하는 주체
- Broker: 메시지를 저장하고 중개하는 Kafka 서버
- Consumer: 메시지를 읽어가는 주체
- Topic: 메시지를 구분하는 논리적 공간 (게시판처럼 분리됨)
⚙️ Kafka가 사용되는 이유
Kafka는 다음과 같은 상황에서 유용하게 쓰인다:
- 마이크로서비스 간 비동기 통신
- 사용자 활동 로그, 시스템 로그 등의 실시간 수집 및 분석
- 이벤트 기반 아키텍처에서의 메시지 전달
- 결제/주문/알림 시스템처럼 데이터 순서가 중요하거나 지연 없이 처리돼야 하는 경우
📂 Kafka 적용 순서 및 실무 흐름
Kafka를 프로젝트에 적용하기 위해서는 다음 단계대로 구성하면 된다.
✅ 1. Kafka 설치 및 실행
Kafka는 로컬에서 테스트 가능하며, Docker로도 쉽게 실행할 수 있다. 여기서는 기본 설치 기준으로 설명한다.