kafka tutorial

문주은·2022년 11월 11일
0

1. Kafka란?

1-1) kafka 정의

  • Kafka 구조 = Topic 1 + Topic 2 + ...

  • Topic 구조 = Partition 1 + Partition 2 + ...

    Q. Partition을 왜 늘릴까?
    컨슈머의 개수를 늘려서 데이터 처리를 분산시킬 수 있어서!

1-2) kafka VS redis

2. Setting

2-1) Download kafka

https://kafka.apache.org/downloads
저는 2.8.0 버전으로 다운받았습니다.

2) unzip tgz file
tar -xzf C:\kafka_2.13-2.8.0.tgz

3. zookeeper, kafka 실행

3-1) zookeeper 실행

cd C:\kafka_2.13-2.8.0
bin\windows\zookeeper-server-start.bat config\zookeeper.properties

zookeeper 정상 실행 확인

netstat -na | findstr "2181"

3-2) kafka 실행

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

kafka 정상 실행 확인

netstat -na | findstr "9092"

4. kafka 기본 사용법

4-1) Kafka 환경 세팅

Source Application에 spring-kafka library 추가

  • kafka-broker 버전과 호환되는 라이브러리 gradle에 추가
// build.gradle
dependencies {
...
    implementation 'org.springframework.kafka:spring-kafka'
}

// application.yml
spring:
  main:
    web-application-type: servlet
  kafka:
    bootstrap-servers: localhost:9092
    consumer:
      group-id: log
    template:
      default-topic: test-topic

4-2) Consumer Configuration

4-3) Producer Configuration

4-4) Producer Service

  • Kafka Borker(서버)로 메시지 전달(저장)

4-5) Kafka Controller

참고 : https://log-laboratory.tistory.com/216
https://veneas.tistory.com/entry/Spring-Boot-Apache-Kafka-Producer

profile
Data Engineer

0개의 댓글