# 1. Kafka 개념 정리



# Kafka 필수 개념 정리

## Kafka 기본 개념

Kafka는 고성능 분산 메시징 시스템으로, 대량의 데이터를 처리하고 분산된 환경에서 안정적으로 운영할 수 있도록 설계되었습니다.

Kafka에서의 메시지는 데이터를 의미합니다.

### 1. Kafka의 주요 구성 요소

#### 1.1. 브로커(Broker)

- Kafka 데이터를 저장하고 클라이언트의 요청을 처리하는 서버
- 여러 브로커가 모여 Kafka 클러스터를 형성

#### 1.2. 토픽(Topic)

- 메시지가 저장되는 논리적 구분 단위
- 각 토픽은 여러 파티션으로 나뉘어 데이터를 분산 저장

#### 1.3. 파티션(Partition)

- 토픽을 구성하는 물리적 단위
- 데이터를 병렬로 처리할 수 있도록 분산 저장

#### 1.4. 복제(Replication)

- 내결함성을 위해 파티션 데이터를 여러 브로커에 복제
- `replication-factor`로 복제본 수 설정

#### 1.5. 프로듀서(Producer)

- 데이터를 Kafka에 전송하는 클라이언트
- 특정 토픽으로 메시지를 보냄

#### 1.6. 컨슈머(Consumer)

- Kafka에서 데이터를 소비하는 클라이언트
- 특정 토픽에서 메시지를 읽음

#### 1.7. ZooKeeper (Kafka를 실행 시키기 위해 우선 실행)

- Kafka 메타데이터를 관리하는 도구
- Kafka 브로커의 상태를 모니터링하고 클러스터 구성을 관리