#metadata
글
-
Kafka 소스 파헤치기 10: KRaft와 메타데이터 — 컨트롤러는 클러스터를 어떻게 기억하나
토픽·파티션·리더·브로커 목록 같은 클러스터의 장부가 __cluster_metadata 라는 평범한 Kafka 로그에 레코드로 쌓이고, 컨트롤러들이 Raft 로 그 로그를 함께 지키는 과정을 소스로 따라갑니다. KafkaRaftClient 의 역할 상태(Prospective·Candidate·Leader·Follower)와 Vote·Fetch, 투표자 과반으로 정하는 하이 워터마크, 이벤트 스레드 하나로 도는 QuorumController 가 레코드를 만들고 커밋 전에 메모리에 먼저 적용했다가 되돌리는 SnapshotRegistry, 브로커가 레코드를 MetadataDelta·MetadataImage 로 바꿔 적용하는 MetadataLoader, 하트비트와 펜스를 kafka-dump-log·kafka-metadata-quorum·컨트롤러 3대 선거 예제로 확인합니다.