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

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

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

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

파티션(Partition)이란? / 특징

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

✅ 파티션(Partition)이란?

파티션(Partition)은 큐(메시지를 임시로 저장할 수 있는 공간)를 여러개로 늘려서 병렬 처리를 가능하게 하는 기본 단위이다. 파티션은 메시지 처리량에 큰 영향을 미치는 핵심 요인이다. 왜냐하면 메시지를 순차적으로 처리하는 것보다 병렬적으로 처리하는 게 훨씬 빠르기 때문이다.
 
 

✅ 파티션(Partition)의 특징

  1. 각 토픽은 하나 이상의 파티션으로 구성할 수 있다.
    1. 토픽을 생성할 때 별도의 옵션을 주지 않으면 아래와 같이 파티션을 1개만 생성한다. 지금까지 실습에서 생성했던 토픽은 전부 파티션이 1개만 생성됐다.
      notion image
       
      하지만 아래와 같이 토픽을 생성할 때 파티션을 여러개 만들 수도 있다.
      notion image
       
  1. Producer가 특정 토픽에 메시지를 넣으면, 여러 파티션에 메시지가 적절하게 분산된다.
    1. notion image
      대형 마트에 가면 계산할 수 있는 계산대가 여러 군데 있듯이, 파티션을 늘리면 메시지를 넣을 수 있는 곳이 여러 군데가 생기는 것과 같다. 그래서 파티션이 여러개인 토픽에 메시지를 넣으면, 여러 파티션에 메시지가 적절하게 분산된다.
       
  1. 하나의 파티션은 하나의 컨슈머에게만 할당된다.
    1. 하나의 파티션은 동일한 Consumer Group 내에서 단 하나의 컨슈머에게만 할당된다.
      [정상적인 구조]
      notion image
       
      [잘못된 구조]
      notion image
      여러 컨슈머가 하나의 파티션의 메시지를 같이 처리할 수는 없다.
       
  1. 하나의 컨슈머가 여러 파티션을 처리할 수 있다.
    1. 여러 컨슈머가 하나의 파티션의 메시지를 같이 처리할 수는 없지만, 하나의 컨슈머가 여러 파티션을 처리하는 건 가능하다.
      notion image
       
  1. 하나의 파티션에 할당된 하나의 컨슈머는 메시지를 순서대로 처리한다.
    1. notion image
      파티션 #0에 컨슈머 #0이 할당됐을 때, 컨슈머 #0은 오프셋이 0인 메시지를 다 처리하고 난 뒤에 오프셋이 1인 메시지를 처리한다. 즉, 오프셋이 0인 메시지와 1인 메시지를 병렬적으로 처리하지 않는다는 뜻이다. 이렇게 처리하는 이유는 파티션 단위로 메시지의 처리 순서를 보장하기 위함이다.
      이 특징 때문에 Spring Boot가 멀티 쓰레드를 기반으로 여러 개의 요청을 처리할 수 있는 구조임에도 불구하고, 이전 강의에서 Consumer가 이메일 발송 작업을 한 번에 하나씩만 처리하고 있었던 것이다.
 
👨🏻‍🏫
다음 강의에서는 실습을 통해 파티션의 특징을 실제 눈으로 확인하는 과정을 거쳐보자.
 
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
type
series-footer
updatedAt
Dec 6, 2025 05:39 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.