아파치 카프카(Apache Kafka) 시작하기

Starting Apache Kafka

Posted by dydtjr1128 on April 20, 2019 · 2 mins read Kafka

Kafka

목차

1 .Kafka란?
2. Apache Kafka 실행(Windows)

1. Kafka란?

Apacha Kafka는 처음 LinkedIn이 개발한 것으로, 2011년 초에 최종적으로 오픈 소스화되었다. 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이며 실시간 데이터 피드를 관리하기 위해 통일된, 높은 스루풋의 낮은 레이턴시를 지닌 플랫폼을 제공하는 것을 목표로 삼은 프로젝트이다.

kafka structure

Apacha Kafka는 4가지의 API를 제공한다.

  • Producer API
    • 한 개 이상의 topic에 스트림을 게시 할 수있는 응용 프로그램을 제작.
  • Consumer API
    • 한 개 이상의 topic을 구독하고 생성 된 레코드 스트림을 처리.
  • Streams API
    • 한 개 이상의 topic에서 입력 스트림을 소비하고 출력 스트림을 생성. 효과적으로 입력 스트림을 출력 스트림으로 변환 가능.
  • Connector API
    • kafka 에 기록된 데이터를 기존 응용 프로그램 또는 DB에 연결하는 재사용 가능한 Producer 또는 Consumer를 구축 및 실행 가능.

애플, 페이팔, 넷플릭스, 뉴옥 타임즈, Spotify, Cloudflare 등 세계 굴지의 기업들이 사용 하고 있을 정도로 신뢰도가 높은 라이브러리 이다.

2. Apache Kafka 실행(Windows)

2.1 Download

Apache Kafka는 공식 홈페이지에서 직접 다운로드 가능하며 아래 링크에서도 다운로드가 가능하다.

http://mirror.navercorp.com/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz

다운받은 파일을 적당한 경로에 압축 해제 해준다.

2.2 Run

Apache Kafkazookeeper라고 하는 오픈소스 분산형 구성 서비스 위에서 돌아 가기 때문에 이를 먼저 실행 해 주어야 한다.
cmd에서 아래와 같은 명령을 실행해야한다.

cd kafka압축해제경로\bin\windows

zookeeper-server-start.bat ../../config/zookeeper.properties

zookeeper run

그 후 새로운 cmd창을 열어 Apache Kafka를 실행한다.

kafka-server-start.bat ..\..\config\server.properties

zookeeper run

2.3 Topic 생성

bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test20190423

2.4 Topic list 확인

bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

2.5 Consumer

bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test20190423

2.6 Producer

bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test20190423

References

Apache kafka
Wikipedia - Apache kafka