본문 바로가기
Backend2026년 5월 27일2분 읽기

Kafka 4.0 KRaft 정착 — ZooKeeper 제거 후 1년 운영 사후

YS
김영삼
조회 211
Kafka 4.0 KRaft 정착 — ZooKeeper 제거 후 1년 운영 사후

핵심 요약

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. 마이그레이션 절차

  1. 브로커 dual-write 모드(3.7+)로 업그레이드
  2. KRaft controller quorum 시작
  3. migration finalize — 메타데이터 ZK → KRaft 복사
  4. ZK 클러스터 종료

다운타임 0초 검증 가능. 단계마다 rollback 가능.

4. 실측

지표ZKKRaft
리더 선출 시간12s1.4s
controller failover28s3s
브로커 부팅42s28s

5. 함정

  • 3.7 미만 — dual-write 불가, 3.7로 stepping 후 마이그레이션
  • ACL — KRaft는 SCRAM/OAUTHBEARER 우선, SASL_PLAINTEXT 호환성 확인
  • Schema Registry — Confluent SR도 4.0 호환 버전 필수
  • 모니터링 — JMX 메트릭 일부 이름 변경, Prometheus 대시보드 갱신

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록