Kafka란?
- Scalar 언어로 된 오픈 소스 메시지 브로커 프로젝트
- 실시간 데이터 피드를 관리하기 위해 통일된 높은 처리량, 낮은 지연 시간을 지닌 플랫폼 제공
- Producer/Consumer 분리
- 메시지를 여러 Consumer에게 허용
- 높은 처리량을 위한 메시지 최적화
- Scale-out 기능
- Eco-system
Kafka Broker
- 실행 된 Kafka 애플리케이션 서버를 Kafka Broker라고 한다.
- 3대 이상의 Broker Cluster 구성
- Zookeeper 연동
- 역할: 메타데이터 (Broker ID, Controller ID 등) 저장
- Controller 정보 저장
- n개 Broker 중 1대는 Controller 기능 수행
- Controller 역할
- 각 Broker에게 담당 파티션 할당 수행
- Broker 정상 도작 모니터링 관리
설치
1. https://kafka.apache.org/ 2.7버전 다운로드
2. CMD에서 tgz파일 압축해제
tar -xvf kafka_2.13-2.7.0.tgz
실행
zookeeper 서버 실행
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
kafka 서버 실행
.\bin\windows\kafka-server-start.bat .\config\server.properties
Topic 목록확인
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list
Topic 정보확인
.\bin\windows\kafka-topics.bat --describe --topic quickstart-events --bootstrap-server localhost:9092
Reference
- [인프런] Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강좌