Kafka

Kafka 기본 용어

gudaeng 2025. 3. 2. 22:29
  • 토픽(Topic)

    • 데이터의 주제를 나타내며, 이름으로 분리된 로그.

    • 메시지를 보낼 때는 특정 토픽을 지정합니다.

  • 파티션(Partition)

    • 토픽은 하나 이상의 파티션으로 나누어질 수 있음.

    • 각 파티션은 순서가 있는 연속된 메시지의 로그.

    • 파티션은 병렬 처리를 지원하고, 데이터의 분산 및 복제를 관리.

    • 1 파티션 ← 1 컨슈머 접근 가능

  • 레코드(Record)

    • 레코드는 데이터의 기본 단위로 키와 값(key-value pair) 구성.
  • 오프셋(Offset)

    • 특정 파티션 내의 레코드 위치를 식별하는 값.
  • 프로듀서(Producer)

    • 데이터를 토픽에 보내는 역할.

    • 메시지를 생성하고 특정 토픽으로 전송.

  • 컨슈머(Consumer)

    • 토픽에서 데이터를 읽는 역할.

    • 특정 토픽의 메시지를 가져와서(poll) 처리.

    • 컨슈머 그룹은 여러 개의 컨슈머 인스턴스를 그룹화하여 특정 토픽의 파티션을 공유하도록 구성. 이를 통해 데이터를 병렬로 처리하고 처리량을 증가 가능

  • 카프카 커넥터(Connector)

    • 카프카와 외부 시스템을 연동 시 쉽게 연동 가능하도록 하는 프레임워크로 MySQL, S3 등 다양한 프로토콜과 연동을 지원.

    • 소스커넥터(source connector) - 외부 시스템에서 카프카로 데이터를 가져오는 커넥터

    • 싱크커넥터(sink connector) - 카프카에서 외부 시스템으로 데이터를 보내는 커넥터

  • 브로커(Broker)

    • 카프카 서버를 의미하며, 클러스터는 여러 브로커로 구성됨

    • 각 브로커는 토픽의 파티션들을 분산하여 저장하고 관리

  • 리플리케이션(Replication)

    • 파티션의 복제본을 여러 브로커에 분산 저장하는 메커니즘

    • 고가용성을 보장하며, 브로커 장애 시에도 데이터 손실 방지

  • 컨슈머 그룹(Consumer Group)

    • 여러 컨슈머를 하나의 그룹으로 관리

    • 한 파티션은 같은 컨슈머 그룹 내에서 하나의 컨슈머만 접근 가능

    • 파티션 수보다 컨슈머가 많으면 유휴 상태의 컨슈머가 발생

  • 지그재그(ZooKeeper)

    • 카프카 클러스터의 메타데이터 관리 및 브로커 헬스체크 담당

    • 브로커 리더 선출, 토픽 구성 정보 관리 등을 수행

    • (참고: 최신 버전에서는 KRaft로 대체 중)

'Kafka' 카테고리의 다른 글

Kafka partition consumer  (0) 2025.03.02
Kafka consumer 사용 위치 비교  (0) 2025.03.02