-
[#1] Kafka 소개컴퓨터/Kafka 2020. 11. 28. 12:55728x90반응형
Apache Kafka
1. Kafka [카프카]란
LinkedIn에서 제작되어 Confluent에 의해 운영되는 "오픈소스 분산 스트리밍 플랫폼"이다.
포츈 100개 기업 중 80%가 카프카를 사용할 만큼 인기가 좋다.
사용
- 메시징 시스템
- 활동 추적
- 애플리케이션 로그 모으기
- 스트림 프로세싱 (Kafka Streams API, Spark...)
- 등등...
실제 활용
- Pinterest: 광고 인프라 실시간 예산 계측 시스템에 이용
- Uber: 사용자, 택시, 여행 정보 등을 실시간으로 받아 미래 수요, 가격 동요 계산
- Netflix: 실시간 모니터링, (프로그램을 보는 동안 새로운 추천 예상) 등 @링크
- AGODA, airbnb, adidas 등등
카프카 서버 활용도
2. 분산 스트리밍 플랫폼이란?
Stream Processing, 스트림 프로세싱이란,
계속해서 들어오는 데이터들을 "실시간"으로 처리하는 빅 데이터 기술이다.
실시간으로 데이터(로그, 메시지, 머신러닝)들을 분석하기에 좋다.
3. 설치
좋아 보이지만, 처음엔 어떻게 사용할지, 카프카가 대체 무엇인지 감이 잡히기 쉽지 않다.
그래서, 튜토리얼에서 예제와 용어들을 하나씩 설명해나가면서 진행해 볼 것이다.
(토픽, 주키퍼, 프로듀서, 컨슈머, 등등)
(공부를 막 시작해서 정리하는 용도)
JDK8+ 버전
JDK 8+가 기본으로 설치되어야 한다. kafka는 Java로 실행된다.
다운로드
Apache Kafka 다운로드 사이트 @링크
다운로드 링크에 들어가서 "Binary downloads" 중 원하는 스칼라 버전의 tgz를 다운로드한다.
링크: kafka.apache.org/downloads
압축 프로그램으로 아무 곳에나 압축 해제한다.
(관리자 권한으로 실행)
환경 변수 설정
환경 변수 설정에 들어간 후, 다음과 같이 bin\windows 폴더를 추가한다.
이후 cmd나 powershell에서 아래와 같이 나오면, 알맞게 설정된 거다.
kafka-topics
[옵션] Window Terminal
Window Terminal 테마 설정: @링크
CLI를 이용할 경우, 서버 실행하고, 프로듀서 이용하고, 컨슈머 이용하면 창이 많이 필요하다.
맥 OS 터미널처럼 Window Terminal을 사용하면 편하다.
다음 글: [#2] Kafka 이론 (브로커, 토픽, 파티션)
728x90'컴퓨터 > Kafka' 카테고리의 다른 글
Kafka Slack API Consumer 만들기 (Python) (0) 2020.12.01 [#3] Kafka 이론 (Producer, Consumer, Zookeeper) (0) 2020.11.29 [#2] Kafka 이론 (topic, broker) (0) 2020.11.28