상위: Kafka
요약
Topic은 Kafka에서 메시지를 저장하는 논리적 단위입니다. 파일 시스템의 폴더나 데이터베이스의 테이블과 유사한 개념으로, 메시지를 분류하고 조직화하는 역할을 합니다.
Topic의 특징
논리적 메시지 그룹
- 특정 유형의 메시지를 저장하는 카테고리
- 예:
user-events,order-logs,sensor-data등 - Producer는 Topic에 메시지를 전송
- Consumer는 Topic에서 메시지를 구독
파티션으로 구성
- 하나의 Topic은 여러 Partition으로 나뉨
- 파티션을 통해 병렬 처리 및 확장성 확보
- 각 파티션은 순서가 보장되는 메시지 시퀀스

Topic 관리
Topic 생성
kafka-topics.sh --create --topic my-topic \
--partitions 3 --replication-factor 2 \
--bootstrap-server localhost:9092
Topic 조회
# 전체 Topic 목록
kafka-topics.sh --list --bootstrap-server localhost:9092
# Topic 상세 정보
kafka-topics.sh --describe --topic my-topic \
--bootstrap-server localhost:9092
Topic 설정 변경
# 파티션 수 증가 (축소는 불가)
kafka-topics.sh --alter --topic my-topic \
--partitions 6 --bootstrap-server localhost:9092
주요 설정
| 설정 | 설명 | 기본값 |
|---|---|---|
num.partitions | 파티션 수 | 1 |
replication.factor | 복제본 수 | 1 |
retention.ms | 메시지 보관 시간 | 7일 |
segment.bytes | 세그먼트 파일 크기 | 1GB |
주의사항
- 파티션 수는 증가만 가능, 감소 불가
- Replication Factor는 생성 시 결정, 변경 시 재할당 필요
- Topic 이름은 변경 불가, 새로 생성 후 마이그레이션 필요