by Lee YeJi
이번년도 3월부터 한이음멘토링을 진행하며 화상회의 프로그램 개발을 주제로 잡았는데 그 중 채팅기능을 구현할때 보다 높은 성능을 위해 Apache Kafka를 적용해보기로 했고 이에따라 처음 카프카 시작하기위한 설치과정과 cmd로 실행하여 consumer와 producer가 메시지를 주고받는 기능까지 실습해보았다.
[목차]
1. Kafka란?
2. Kafka 다운로드 및 실행
1. Kafka란?
Apache Kafka는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다. 이 프로젝트는 실시간 데이터 피드를 관리하기 위해 통일된, 높은 스루풋의 낮은 레이턴시를 지닌 플랫폼을 제공하는 것이 목표이다.
#카프카는 일반적으로 두 가지의 광범위한 종류의 응용 프로그램에 사용된다.
- 1. 시스템 또는 응용 프로그램간에 데이터를 안정적으로 얻는 실시간 스트리밍 데이터 파이프 라인 구축
- 2. 데이터 스트림을 변환하거나 이에 반응하는 실시간 스트리밍 애플리케이션 구축
#카프카의 기본 개념
- 1. Kafka는 여러 데이터 센터로 확장 될 수있는 하나 이상의 서버에서 클러스터로 실행된다.
- 2. 카프카 클러스터는 주제(topic)라는 카테고리에 레코드 스트림을 저장한다.
- 3. 각 레코드는 키, 값 및 타임 스탬프로 구성된다.
#카프카가 제공하는 핵심 API
출처: https://kafka.apache.org/intro
한 개 이상의 topic에 스트림을 게시 할 수있는 응용 프로그램을 제작
한 개 이상의 topic을 구독하고 생성된 레코드 스트림을 처리
한 개 이상의 topic에서 입력 스트림을 소비하고 출력 스트림을 생성
효과적으로 입력 스트림을 출력 스트림으로 변환 할 수 있음
kafka에 기록된 데이터를 기존 응용 프로그램 또는 DB에 연결하는 재사용 가능한 Producer 또는 Consumer를 구축 및 실행할 수 있음
2. Kafka 다운로드 및 실행
#아파치 카프카 설치
아파치 카프카는 아파치 공식 홈페이지(https://kafka.apache.org/downloads)에서 원하는 버전을 다운로드하거나, 다음 링크에서 2.2.0파일을 바로 받아서 압축만 풀면 되므로 굉장히 간단하다.
http://mirror.navercorp.com/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz
해당 포스팅은 Window10기반으로 작성되었다.
#아파치 카프카 실행
설치가 간편했던 것에 비해 실행은 과정이 조금 많은데, Apache Kafka는 zookeeper라고 하는 오픈소스 분산형 구성 서비스 위에서 돌아 가기 때문에 zookeeper를 먼저 실행 해 주어야 한다.
#Zookeeper 실행
그리고 새로운 cmd창을 열어서 kafka server를 실행한다.
#Kafka server 실행
#Topic 생성
#Topic list 확인
#Consumer
#Producer
Subscribe via RSS