JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

Kafka에 메시지 넣기 / Kafka에서 메시지 조회하기

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
produce-consume-messages
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ Kafka에 메시지 넣기

Producer가 Kafka로 메시지를 보내는 역할을 한다고 했다. Producer를 대신해 CLI 명령어를 활용해 Kafka에 메시지를 넣어보자.
notion image
 
  1. 토픽 생성
    1. # email.send라는 토픽 생성 $ bin/kafka-topics.sh \ --bootstrap-server localhost:9092 \ --create --topic email.send
       
  1. Kafka의 특정 토픽에 메시지 넣기
    1. Kafka에 넣는 메시지는 Key-Value 형태로 넣을 수도 있고, Key는 생략한 채로 Value만 넣을 수도 있다. 우선 Key를 생략한 채로 Value만 넣는 방식을 배워보자.
      # email.send라는 토픽에 메시지 넣기 $ bin/kafka-console-producer.sh \ --bootstrap-server localhost:9092 \ --topic email.send # 위 명령어 입력 후 넣을 메시지 내용 입력하고 Enter 누르기 hello1 hello2 hello3 # 입력 다 했으면 Ctlr + c로 입력 상태 종료하기
      notion image
 
아무런 에러가 뜨지 않았다면 토픽에 메시지가 잘 들어간 것이다. 이제 토픽에 넣은 메시지를 조회하는 방법에 대해 알아보자.
 

✅ Kafka에서 메시지 조회하기

전통적인 메시지 큐(RabbitMQ, SQS)는 메시지를 꺼내서 읽어들이면 해당 메시지를 큐에서 제거하는 구조이다. 반면에 Kafka는 메시지를 읽고 제거하는 방식이 아니라, 저장되어 있는 메시지를 읽기만 하고 제거하지 않는 방식으로 작동한다. 이런 구조 덕분에 Kafka는 같은 메시지를 여러 번 읽는게 가능하다.
notion image
 
  1. 특정 토픽에 쌓인 메시지 전부 조회하기 + 실시간으로 메시지 조회하기
    1. # email.send라는 토픽에 있는 메시지 꺼내기 $ bin/kafka-console-consumer.sh \ --bootstrap-server localhost:9092 \ --topic email.send \ --from-beginning
      • --from-beginning : 토픽에 저장된 가장 처음 메시지부터 출력해온다.
위 명령어를 입력하면 토픽에 저장된 메시지를 전부 조회한다. 그리고 계속해서 메시지를 실시간으로 조회하는 상태로 변경된다. 정말 그런지 테스트하기 위해 터미널 창을 하나 더 켜서 email.send 토픽에 메시지를 추가로 넣어보자.
 
  1. 토픽에 메시지 추가하기
    1. $ bin/kafka-console-producer.sh \ --bootstrap-server localhost:9092 \ --topic email.send # 위 명령어 입력 후 넣을 메시지 내용 입력하고 Enter 누르기 hello4
      notion image
      email.send 토픽에 메시지를 넣자마자, email.send 토픽의 메시지를 조회하고 있는 터미널 창에서 실시간으로 메시지를 읽어오는 걸 확인할 수 있다.
       
  1. 메시지를 다시 읽어올 수 있는 지 확인하기
    1. # 아래 명령어 다시 입력해보기 $ bin/kafka-console-consumer.sh \ --bootstrap-server localhost:9092 \ --topic email.send \ --from-beginning
      만약 Kafka가 메시지를 꺼내서 읽는 순간 메시지를 삭제하는 방식이었다면, 다시 메시지를 조회하는 명령어를 입력했을 때 메시지가 조회되지 않아야 한다. 하지만 아래 명령어를 입력해보면 정상적으로 메시지를 잘 읽어오는 걸 확인할 수 있다.
      이로써 Kafka는 메시지를 읽고 제거하는 방식이 아니라, 저장되어 있는 메시지를 읽기만 하고 제거하지 않는 방식이라는 걸 알 수 있었다.
 
 
👨🏻‍🏫
지금까지 배운 내용은 kafka에 메시지를 넣는 방법과, kafka에 들어있는 메시지를 처음부터 끝까지 다 읽는 방법만 배웠다. 하지만 실제 서비스에서는 메시지를 단순히 한 번만 읽고 끝나는 게 아니라, 어디까지 읽었는지를 기억하고 그 다음 메시지부터 계속해서 처리하는 방식이 필요하다.
다음 강의에서는 메시지를 어디까지 읽었는 지 기억해뒀다가, 처리하지 않은 메시지부터 처리하는 방식에 대해서 알아보자.
 
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
type
series-footer
updatedAt
Dec 6, 2025 05:39 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.