Yebali

Kafka의 ISR이란? (In-Sync-Replica) 본문

Kafka

Kafka의 ISR이란? (In-Sync-Replica)

예발이 2022. 1. 30. 22:23

ISR(In-Sync-Replica)

ISR 리더 파티션과 팔로워 파티션이 모두 싱크가  상태를 뜻한다.

ISR이라는 용어가 나온 이유는 팔로워 파티션이 리더 파티션으로부터 데이터를 복제하는데 시간이 걸리기 때문이다.

 

리더 파티션에서 데이터가 적재된 후, 팔로워 파티션이 복제하는 시간차 때문에 리더 파티션과 팔로워 파티션 간에 오프셋 차이가 발생한다.

이런 차이를 모니터링하기 위해 리터 파티션은 일정한 주기(replica.lag.time.max.ms)를 가지고 팔로워 파티션의 데이터 복제를 확인한다.
주기보다 더 긴 시간동안 데이터를 가져가지 않으면 팔로워 파티션에 문제가 생긴 것으로 판단하고 ISR그룹에서 제외한다.

ISR 묶였을 , 팔로워 파티션은 리더 파티션으로 선출될 자격을 가진다.

데이터 유실이 발생하더라도 서비스를 중단하지 않고 지속적으로 토픽을 사용하고 싶다면 unclean.leader.election.enable옵션을 true 설정하면 된다. 이 옵션을 통해 ISR 아닌 팔로워 파티션을 리더 파티션으로 선출   있다.