TCP network를 통한 server
와 client
로 이루어진 분산 시스템
server
많은 서버들이 클러스터를 이루어서 동작 -> 고가용성 높음
brokers (데이터 저장 레이어), kafka connect (계속 데이터 import/export)로 이루어짐
client
다양한 애플리케이션과 microservices에 데이터를 write하게 해줌
# home brew 를 이용해서 카프카 설치
brew install kafka
# Zookeeper 시작
# Note: Soon, ZooKeeper will no longer be required by Apache Kafka. -> 아직은 아닌듯하다
/usr/local/bin/zookeeper-server-start /usr/local/etc/zookeeper/zoo.cfg
# Apache Kafka 시작
/usr/local/bin/kafka-server-start /usr/local/etc/kafka/server.properties
카프카에서는 event들은 topic에 저장한다. 그래서 event를 쓰려면 먼저 topic을 생성해야 한다.
# kafka-topics가 있는 디렉토리로 이동
# 내 경우에는 /usr/local/bin
# topic 생성
kafka-topics --create --topic quickstart-events --bootstrap-server localhost:9092
# topic 정보 보기
kafka-topics --describe --topic quickstart-events --bootstrap-server localhost:9092
생성 완료~
# event write
kafka-console-producer --topic quickstart-events --bootstrap-server localhost:9092
# event read
kafka-console-consumer --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
켜두었던 Kafka consumer, Kafka broker, ZooKeeper 종료
# 카프카 관련 설정 삭제하고 싶다면
rm -rf /tmp/kafka-logs /tmp/zookeeper