안녕세계

[Kafka] 핵심 개념 빠르게 알아보기 본문

[Kafka] 핵심 개념 빠르게 알아보기

Junhong Kim 2026. 1. 11. 16:02
728x90
반응형

Topic

  • Topic은 N개의 Partition으로 구성되어 있는 log 파일입니다.
  • Topic은 시간의 흐름에 따라 Record(message)가 물리적인 파일에 순차적으로 write 됩니다.

Partition

  • Topic을 N개로 쪼갠 로그 조각이 Partition 입니다.
    • 개별 Partition 내에서 순서가 보장되는 단위
  • Partition은 Kafka의 병렬 성능과 가용성 기능의 핵심 요소입니다.
  • Record(message)는 병렬 성능과 가용성을 고려해 개별 Partition에 분산 저장됩니다.

Partition 과 Offset

  • 논리/개념 계층

 

  • 물리/저장 계층(Disk File 관점)
    • Topic > Partition > Segment(로그 파일 조각) > Record Batch, (index/timeindex 파일들) > Record(message)
      • Partition의 Record는 Offset으로 불리는 일련의 번호를 할당 받습니다.
      • Offset은 Partition 내에서 Record 위치를 나타내는 번호이며, 이를 통해 Partition 내의 데이터 순서를 보장합니다.

Partition 과 Offset

Topic과 Partition의 병렬 분산 처리

  • Record는 병렬 성능과 가용성을 고려하여 Topic 내 개별 Partition 들에 분산 저장됩니다.
  • Topic의 Partition들은 단일 Broker뿐 만 아니라, N개의 Broker에 분산 저장될 수 있습니다.
    • Kafka Cluster는 replication-factor 옵션을 통해 복제(leader/follower) 영역을 관리합니다.
    • replication-factor란?
      • Topic의 각 파티션을 총 몇 개의 복제본으로 저장할지 정하는 값.
      • Topic 생성 또는 Partition 배치 시점에 이 값은 Broker 수 이하여야 한다.
        • 예) Partition의 각 Replica는 서로 다른 Broker에 올라가야한다.
          Broker가 2대 인데, replication-factor가 3인 경우 물리적으로 배치가 불가능하다.

replication-factor = 2

*Kafka Cluster와 Broker
Broker는 Kafka 서버 한 대이고, Cluster는 Broker 여러 대가 하나로 묶여 Kafka를 제공하는 전체 시스템입니다.
Kafka 공식 문서에서는 “Kafka는 하나 이상의 서버(=Broker)로 실행되고, 이 서버들이 Cluster를 이룬다”고 설명합니다.

 

728x90
반응형

'Server > Kafka' 카테고리의 다른 글

[Kafka] Producer 동작 방식과 파티셔닝 전략  (0) 2026.02.02
Comments