✅ Kafka의 기본 구성 이해하기
Apache Kafka는 대규모 데이터를 빠르고 안정적으로 전달하기 위해 만들어진 분산 메시징 플랫폼입니다.
오늘은 Kafka의 가장 기본적인 구성 요소인 Producer, Consumer, Topic을 살펴보고, CLI(Command Line Interface)를 통해 어떻게 조작할 수 있는지도 간단히 정리해보겠습니다.
📌 Kafka의 기본 구성

위 그림처럼 Kafka의 핵심은 크게 세 가지로 나눌 수 있습니다.
- Producer : 메시지를 생성하고 Kafka에 전달하는 주체
- Topic : Kafka가 메시지를 저장할 때 사용하는 구분 단위 (≒ 카테고리)
- Consumer : Kafka에 저장된 메시지를 가져와 처리하는 주체
흐름을 간단히 요약하면,
- Producer가 Kafka로 메시지를 보냅니다.
- Kafka는 해당 메시지를 Topic에 저장합니다.
- Consumer가 해당 Topic에서 메시지를 가져와 활용합니다.
즉, Producer → Topic → Consumer 의 흐름으로 데이터가 전달되는 구조입니다.
🖥️ CLI를 활용한 Kafka 조작
많은 분들이 Kafka를 사용할 때 백엔드 서버(Spring Boot 등) 에서만 연결해야 한다고 생각하는데, 사실 Kafka CLI 만으로도 거의 모든 기능을 다룰 수 있습니다.
토픽 생성하기
# kafka 디렉터리 안에서 아래 명령어를 실행시켜야 함
$ cd kafka_2.13-4.0.0
# 토픽 생성
# bin/kafka-topics.sh --bootstrap-server <kakfa 주소> --create --topic <토픽명>
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create \
--topic email.send
토픽 조회하기
# 토픽 전체 조회
# bin/kafka-topics.sh --bootstrap-server <kakfa 주소> --list
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--list
# 특정 토픽 세부 정보 조회
# bin/kafka-topics.sh --bootstrap-server <kakfa 주소> --describe --topic <토픽명>
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--describe --topic email.send
토픽 삭제하기
# 토픽 삭제
# bin/kafka-topics.sh --bootstrap-server <kafka 주소> --delete --topic <토픽명>
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--delete --topic email.send
# 잘 삭제됐는 지 확인하기
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--list'Kafka' 카테고리의 다른 글
| Apache Kafka 공식 문서 보면서 핵심 기능 정리 (0) | 2025.11.10 |
|---|---|
| 카프카(Kafka) 로컬 환경 구축과 기본 개념 정리 (0) | 2025.09.05 |
| Kafka로 회원가입 이벤트 처리하기 (0) | 2025.09.04 |