
백엔드
Zookeeper에 의존하지 않는 Kafka를 준비하기 : Amazon MSK에서 KRaft 모드 사용하기
두줄요약
Amazon MSK의 KRaft 모드가 Zookeeper 의존성을 어떻게 줄이는지 설명했습니다. 또한 지원 버전, 마이그레이션 방법, 모니터링 포인트까지 정리했습니다.
핵심 내용
- Amazon MSK에서 Apache Kafka의 KRaft 모드 지원 배경과 동작 원리 정리
- Zookeeper 기반 메타데이터 관리의 병목과 복구 지연을 KRaft의 내부 토픽 기반 관리로 대체하는 구조 설명
- MSK 3.7 이상에서의 지원 범위, 4.0의 KRaft 단독 지원, 마이그레이션과 모니터링 방법 안내
구조와 흐름
- Leader Controller, Voter Controller, Observer로 나뉘는 KRaft 구성 요소 소개
- __cluster_metadata 토픽에 메타데이터를 기록하고 quorum 복제로 전파하는 흐름 설명
- 캐시와 스냅샷을 활용한 빠른 복구, controller 선출 시 epoch와 offset 기준 설명
성능/운영 포인트
- Zookeeper 의존성 제거로 메타데이터 동기화 홉과 컨트롤러 복구 지연 완화
- KRaft 클러스터는 최대 60개 브로커 지원으로 더 큰 파티션 수 수용 가능
- Prometheus 기반 오픈 모니터링, MSK Replicator 또는 MirrorMaker 2.0 기반 마이그레이션 필요
