티스토리 뷰
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



'Open5GS' 카테고리의 다른 글
| [수도권ICT 네트워크 4기] 스프링부트 실습 (0) | 2025.10.29 |
|---|---|
| [수도권ICT 네트워크 4기] 5G Open5G UERANSIM 실습 (1) | 2025.10.29 |