이론/백엔드 개념정리
2. 카프카 핵심 개념 정리: Broker, Replication, ISR
블스뜸
2025. 5. 1. 13:39
카프카에서 Broker, Replication, ISR은 중요한 역할을 수행한다. 각 개념과 이들의 관계를 명확히 이해하는 것은 안정적인 카프카 시스템 운영에 필수적이다.
1. Broker
Broker는 카프카가 설치된 서버 단위를 지칭한다. 안정적인 운영을 위해 3개 이상의 Broker로 클러스터를 구성하는 것이 일반적이다.
- Broker 구성: 파티션이 1개이고 Replication Factor가 1인 토픽의 경우, 다수의 Broker가 존재하더라도 해당 토픽 데이터는 단일 Broker에 저장된다.
2. Replication (복제)
Replication은 파티션의 복제를 의미하며, 카프카의 고가용성을 위한 핵심 기능이다. 서버 장애 발생 시 데이터 유실을 방지하고 서비스 지속성을 확보하는 데 기여한다.
- 데이터 전송 및 Ack 옵션: 프로듀서는 리더 파티션에 데이터를 전송하며, ack 옵션 설정을 통해 전송 신뢰성을 제어할 수 있다.
- 0: 전송 후 응답 없음. 데이터 유실 가능성 증가, 전송 속도 향상.
- 1: 리더 파티션 기록 후 응답. 장애 시 데이터 유실 가능성 존재.
- all: 리더 및 모든 팔로워 파티션 기록 후 응답. 데이터 유실 가능성 최소화, 전송 속도 저하.
- Replication Factor: 파티션의 복제 개수를 설정한다. 값이 1이면 원본 파티션만 존재하며, 2이면 원본 1개와 복제본 1개로 구성된다.
- Replication Factor 제약: Replication Factor는 Broker 개수를 초과할 수 없다.
- 리더 및 팔로워 파티션: 원본 파티션을 리더, 복제된 파티션을 팔로워라고 한다.
- 리더 승계: 리더 파티션 장애 발생 시 팔로워 파티션이 리더로 승격된다.
- 복제의 단점: 복제 데이터 증가에 따라 Broker 리소스 사용량이 증가한다. 데이터 보존 기간을 고려하여 복제 개수를 결정해야 한다.
- 권장 설정: 3개 이상 Broker 사용 시 Replication Factor를 3으로 설정하는 것을 권장한다.
3. ISR (In Sync Replica)
ISR은 리더 파티션과 정상적으로 동기화된 팔로워 파티션의 집합을 의미한다. 이는 데이터 일관성을 유지하는 데 중요한 역할을 한다.