ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Apache Kafka] 카프카 기본 개념 정리
    Apache Kafka 2024. 11. 13. 22:36

    Kafka Structure


    클러스터 (Cluster)

    • 여러 개의 서버(브로커)를 모아놓은 것
    • 카프카는 여러 서버가 함께 일하면서 데이터를 빠르고 안정적으로 처리한다.

     
    브로커 (Broker)

    • 클러스터 안에서 실제로 데이터를 주고 받는 역할을 하는 하나의 서버이다.

     
    토픽 (Topic)

    • 데이터를 분류하여 보관하기 위한 카테고리이다.
    • 클러스터 내에서 유일해야 한다.

     
    파티션 (Partition)

    • 각 토픽에 저장되는 데이터를 여러 파티션으로 구분한다.
    • 파티션들은 여러 브로커에 분산하여 위치시킬 수 있다.

     
    세그먼트 (Segment)

    • 각 파티션에 저장되는 데이터를 특정 기준에 따라 나눈 조각이다.

     
    프로듀서 (Producer)

    • 데이터를 생성하여 카프카 브로커로 보내는 역할을 한다.
    • 특정 토픽을 선택하여 데이터를 보낸다.

     
    컨슈머 (Consumer)

    • 카프카 브로커에서 데이터를 읽어오는 역할을 한다.
    • 하나 이상의 토픽을 구독한다.

     
    컨슈머 그룹 (Consumer Group)

    • 여러 개의 컨슈머를 하나의 그룹으로 묶어, 서로 협력하며 데이터를 처리할 수 있도록 하는 개념이다.
    • 컨슈머 그룹 내 모든 컨슈머는 동일한 토픽을 구독한다

    클러스터
     ├── 브로커 1
     │     ├── 토픽 A
     │     │     ├── 파티션 1
     │     │     │     └── 세그먼트 1,2,3..
     │     │     ├── 파티션 2
     │     │     └── 파티션 3
     │     └── 토픽 B
     │           ├── 파티션 1
     │           └── 파티션 2
     ├── 브로커 2
     └── 브로커 3
    
    프로듀서 → 브로커의 특정 토픽으로 데이터 전송
    컨슈머 그룹 (컨슈머 1, 컨슈머 2, ...) → 브로커에서 같은 토픽의 각 파티션을 나눠서 읽음