back-end/Monitoring
Docker Kafka 토픽 생성, 메시지 Producer 및 Consumer
icandle
2024. 11. 11. 17:24
Intro
Kafka는 비동기 방식의 대표 스트리밍 플랫폼이다.
Kafka는 언제 왜 사용하는가?
- 빠른 데이터 수집 및 높은 처리량
- 이벤트 처리 순서가 보장된다.
- 적어도 한 번 전송 방식 → 메시지의 유실이 없도록 한다.
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