핵심 요약
Kafka 4.0에서 ZooKeeper 의존 완전 제거. KRaft(Kafka Raft) controller로 메타데이터 관리. 사내 12개 클러스터 1년 운영 — 인스턴스 수 -33%, controller 장애 -78%, 리더 선출 평균 12s → 1.4s.
1. 아키텍처 변화
브로커 노드가 controller 역할 겸임. 별도 ZK 클러스터 불필요. controller quorum은 보통 3 또는 5개 노드.
2. 운영 부담 변화
- ZK 클러스터 backup·tune·patch 사라짐 — 인력 0.4 FTE 절감
- 인스턴스: ZK 3 + broker 6 → broker 6 (혹은 6+3 controller)
- dependency 단순화 — 모니터링 alert 14개 → 8개
3. 마이그레이션 절차
- 브로커 dual-write 모드(3.7+)로 업그레이드
- KRaft controller quorum 시작
- migration finalize — 메타데이터 ZK → KRaft 복사
- ZK 클러스터 종료
다운타임 0초 검증 가능. 단계마다 rollback 가능.
4. 실측
| 지표 | ZK | KRaft |
|---|---|---|
| 리더 선출 시간 | 12s | 1.4s |
| controller failover | 28s | 3s |
| 브로커 부팅 | 42s | 28s |
5. 함정
- 3.7 미만 — dual-write 불가, 3.7로 stepping 후 마이그레이션
- ACL — KRaft는 SCRAM/OAUTHBEARER 우선, SASL_PLAINTEXT 호환성 확인
- Schema Registry — Confluent SR도 4.0 호환 버전 필수
- 모니터링 — JMX 메트릭 일부 이름 변경, Prometheus 대시보드 갱신

댓글 0