#replication
글
-
Kafka 소스 파헤치기 9: 복제 — ISR, 하이 워터마크, 그리고 acks=all의 기다림
팔로워 브로커의 ReplicaFetcherThread 가 리더에게 Fetch 를 보내 로그를 따라 쓰고, 리더는 그 Fetch 의 오프셋으로 팔로워의 위치를 알아 하이 워터마크를 올립니다. ISR 에서 빠지는 기준(replica.lag.time.max.ms 와 lastCaughtUpTimeMs), ISR 변경을 컨트롤러에 알리는 AlterPartition, acks=all 요청이 DelayedProduce 로 퍼거토리에서 기다리는 조건과 min.insync.replicas 가 거절하는 자리, 리더가 바뀐 뒤 리더 에포크로 갈라진 로그를 잘라 내는 길을 Partition.scala·AbstractFetcherThread.scala 로 따라가고, 브로커 셋을 멈추고 죽이는 예제로 확인합니다.