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

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

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

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

Kafka란? / 메시지 큐(Message Queue)란?

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
what-is-kafka-and-message-queue
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ 카프카(kafka)란?

Kafka의 의미를 검색해보면 아래와 같이 나온다.
Apache Kafka는 수천 개의 회사에서 고성능 데이터 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션에 사용되는 오픈 소스 분산 이벤트 스트리밍 플랫폼입니다. - Apache Kafka 공식 홈페이지 -
 
입문자 입장에서 무슨 말인지 이해하기가 너무 어렵다. 입문자용으로 다시 설명해주겠다.
Kafka는 대규모 데이터를 처리할 수 있는 메시지 큐이다.
이렇게만 알고 있어도 충분하다. 그런데 이 의미를 정확하게 이해하려면 ‘메시지 큐’가 무슨 뜻인지 알아야 한다. ‘메시지 큐’가 뭔지 알아보자.
 
 

✅ 메시지 큐(Message Queue)란?

메시지 큐(Message Queue)는 큐(Queue) 형태에 데이터를 일시적으로 저장하는 임시 저장소를 의미한다. 메시지 큐를 활용하면 비동기적으로 데이터를 처리할 수 있어서 효율적이다.
** 동기적 처리 ≒ 순차적으로 처리 ≒ A 작업이 다 끝난 이후에 B 작업을 처리
** 비동기적 처리 ≒ 병렬적으로 처리 ≒ A 작업을 시작한 직후에 B 작업도 바로 시작 (A 작업이 끝날 때까지 안 기다림)
 
이 의미를 정확하게 이해하기 위해 ‘REST API 방식으로 통신하는 방식’과 ‘메시지 큐를 활용한 통신 방식’을 비교해보자.
 
 

✅ REST API 방식으로 통신 vs 메시지 큐를 활용한 통신

REST API 방식은 요청을 보낸 뒤에 모든 작업이 다 처리될 때까지 기다렸다가 응답을 받는 식으로 통신을 한다.
notion image
 
 
하지만 메시지 큐를 활용한 통신 방식은 비동기적으로 작업을 처리하기 때문에 모든 작업이 다 처리되는 것과 상관없이 응답을 받을 수 있다. 이 과정이 처음에 이해가 잘 안 될 수도 있다. 메시지 큐를 활용한 통신 과정을 하나하나 자세히 살펴보자.
notion image
  1. 사용자가 REST API 방식으로 요청을 보낸다.
  1. 요청을 받은 서버는 메시지 큐(Message Queue)에 전달할 메시지를 만들어 전달한다.
      • 메시지 안에는 처리해야 할 요청에 대한 정보들이 담겨있다.
      • 메시지 큐(Message Queue)는 처리해야 할 메시지들을 보관하는 임시 저장소 역할을 한다.
      • 메시지를 만들어 메시지 큐로 전달하는 서버를 보고 프로듀서(Producer)라고 얘기한다. * ‘메시지를 생산하는 주체’를 직관적으로 표현하기 위해 프로듀서(Producer)라는 용어가 만들어졌다.
  1. Producer 서버는 메시지 큐에 메시지를 넣자마자 사용자에게 성공 응답을 한다.
      • 이메일 작업이 끝날 때까지 기다렸다가 응답을 하는 것이 아니라, 메시지 큐에 메시지를 넣자마자 응답을 했다. 이렇게 처리하는 방식을 보고 ‘비동기 방식으로 처리했다’라고 표현한다.
      • 비동기 방식으로 처리하기 때문에 요청을 효율적으로 처리할 수 있다. 이 때문에 대규모 트래픽을 처리할 때도 유리한 구조이다.
  1. 메시지 큐는 Producer로부터 받은 메시지(요청)를 보관하고 있다.
  1. Consumer 서버가 메시지 큐에 들어있는 메시지(요청)를 꺼내서 실제 작업(ex. 이메일 발송 로직 처리)을 수행한다.
      • 메시지를 꺼내서 처리하는 서버를 보고 컨슈머(Consumer)라고 얘기한다. ** ‘메시지를 소비하는 주체’를 직관적으로 표현하기 위해 컨슈머(Consumer)라는 용어가 만들어졌다.
 
이제 다시 한 번 메시지 큐(Message Queue)와 카프카(Kafka)에 대한 의미를 되짚어보자.
  • 메시지 큐(Message Queue)는 데이터를 일시적으로 큐(Queue) 형태로 저장하는 임시 저장소를 의미한다. 메시지 큐를 활용하면 비동기적으로 데이터를 처리할 수 있어서 효율적이다.
  • Kafka는 대규모 데이터를 처리할 수 있는 메시지 큐이다.
 
 
 
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
type
series-footer
updatedAt
Dec 6, 2025 05:39 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.