먹수의 개발일지

Docker Kafka 토픽 생성, 메시지 Producer 및 Consumer 본문

back-end/Monitoring

Docker Kafka 토픽 생성, 메시지 Producer 및 Consumer

icandle 2024. 11. 11. 17:24

Intro

Kafka는 비동기 방식의 대표 스트리밍 플랫폼이다.

Kafka는 언제 왜 사용하는가?

  1. 빠른 데이터 수집 및 높은 처리량
  2. 이벤트 처리 순서가 보장된다.
  3. 적어도 한 번 전송 방식 → 메시지의 유실이 없도록 한다.

producer → broker 메시지 전송

broker → producer 메시지 잘 받았다고 ack 전달

producer ack 받게 되면 다음 메시지 전달하고 받지 못하면 해당 메시지를 재 전송함

 

토픽 리스트 출력

kafka-topics.sh --list --bootstrap-server Kafka01Service:9092

test라는 토픽 생성하기

kafka-topics.sh --create --bootstrap-server Kafka01Service:9092 --replication-factor 1 --partitions 1 --topic test

 

test라는 토픽 삭제하기

kafka-topics.sh --delete --bootstrap-server Kafka01Service:9092 --topic test

 

터미널 2개 켜서 테스트 해보자.

stores 토픽의 프로듀서 실행하기 (왼쪽 터미널)

값을 입력해보면, 실시간으로 확인되는 것을 알 수 있다.

kafka-console-producer.sh --bootstrap-server Kafka01Service:9092 --topic stores

 

stores 토픽의 컨슈머 실행하기 (오른쪽 터미널)

kafka-console-consumer.sh --bootstrap-server Kafka01Service:9092 --topic stores

 

특정 topic의 메시지 전체 삭제하기

kafka-topics.sh --bootstrap-server Kafka01Service:9092 --topic stores --delete

 

Comments