Kafka는 내구성과 가용성을 위해 partition을 여러 broker에 걸쳐 복제합니다 — 각 partition은 leader와 follower replica를 가집니다. broker가 실패하면 follower가 인계합니다. 복제를 이해하는 것이 Kafka 내결함성의 열쇠입니다.
복제 작동 방식
각 PARTITION은 여러 broker에 걸쳐 복제됨(REPLICATION FACTOR 복사본, 예: 3):
→ LEADER replica → partition의 모든 읽기와 쓰기 처리
→ FOLLOWER replica → leader 데이터를 복제(replicate), 동기 상태 유지
→ producer/consumer는 LEADER와 상호작용; follower는 백업
→ leader의 broker가 FAIL하면 → follower가 leader로 승격(failover) → 데이터 유실 없이
계속 가용
In-Sync Replicas(ISR)
ISR(In-Sync Replicas) → leader를 따라잡은 replica 집합:
→ in-sync replica만 leader가 될 자격이 있음(새 leader가 데이터를 가짐을 보장)
→ 내구성 구성: acks=all + min.insync.replicas → 충분한 ISR이 가질 때만 쓰기 확인 →
데이터 유실 없이 실패에서 생존
→ ISR은 내구성과 가용성의 균형의 중심
