티스토리 뷰

Kafka 개요

Apache Kafka는 분산 스트리밍 플랫폼이다. 실시간으로 대량의 데이터를 처리하고 저장할 수 있는 시스템으로, 높은 처리량과 내결함성을 제공한다.

 

Kafka 구성요소

  • Producer: 데이터를 Kafka에 전송하는 애플리케이션
  • Consumer: Kafka에서 데이터를 읽어오는 애플리케이션

Topic과 Partition

  • Topic: 데이터를 분류하는 카테고리. 메시지가 저장되는 논리적 단위
  • Partition: Topic을 물리적으로 분할한 단위. 병렬 처리와 확장성을 위해 사용

Broker와 Cluster

  • Broker: Kafka 서버 인스턴스. 메시지를 저장하고 처리
  • Cluster: 여러 Broker로 구성된 Kafka 시스템

Consumer Group

  • 같은 Topic을 읽는 Consumer들의 집합
  • 각 Partition은 Consumer Group 내에서 하나의 Consumer만 읽을 수 있음

 

 

How Kafka operates as a message broker : Broker, Topic, Cluster, Partition, Partition leader, Partition follower

 

 

Producers and consumers : Producer, Consumer, Consumer group, Offsets

 

실습환경

- 우분투 22.04 LTS

 

kafka 설치방법

wget -d https://dlcdn.apache.org/kafka/3.9.0/kafka_2.12-3.9.0.tgz

tar -xzf kafka_2.12-3.9.0.tgz 

cd kafka_2.12-3.9.0/

 

kafka 실습 순서

1. Zookeeper 및 Kafka 실행
bin/zookeeper-server-start.sh config/zookeeper.properties &
bin/kafka-server-start.sh config/server.properties &

2. Kafka 토픽 생성
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092

3. Kafka 메시지 Producer 코드 작성
KafkaProducerExample.java

4. Kafka 메시지 Consumer 코드 작성
KafkaConsumerExample.java

5. Java 컴파일
javac -cp "libs/:." KafkaProducerExample.java KafkaConsumerExample.java

6. Kafka Producer 실행 (window 1)
java -cp "libs/:." KafkaProducerExample

7. Kafka Consumer 실행 (window 2)
java -cp "libs/*:." KafkaConsumerExampl

 

 

kafka 실행 및 상태 조회

bin/kafka-topics.sh --create --topic order-topic --bootstrap-server localhost:9092
bin/kafka-topics.sh --create --topic shipping-topic --bootstrap-server localhost:9092
bin/kafka-topics.sh --create --topic sales-topic --bootstrap-server localhost:9092


javac -cp "libs/*:." OrderProducer.java OrderProcessor.java DeliveryProcessor.java FinalDeliveryProcessor.java OrderStatisticsProcessor.java 

java -cp "libs/*:." OrderProducer
java -cp "libs/*:." OrderProcessor
java -cp "libs/*:." DeliveryProcessor
java -cp "libs/*:." FinalDeliveryProcessor
java -cp "libs/*:." OrderStatisticsProcessorr

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함