In-Sync-Replicas(ISR)
리더와 Sync(동기)가 맞고있는(복사가 잘 수행하고 있는) 모든 Replicas의 목록
- 하나의 브로커에만 Partition Leader들이 몰려있다면 Hot Spot 문제가 발생한다.
- 따라서, Leader 장애 시 Leader를 선출하는데 사용
- replica.lag.max.messages: Follower와 Leader간의 메시지 차이 (follower가 복사를 잘 수행하고 있는지 판단하는 지표)
- 상위버전에서는 현재 deprecated 라고 한다.
- Fully-Replicated Commited의 Commit은 Consumer의 Commit과 다름
- Follower가 복제했음을 의미
- consumer는 hign water mark가 표시된 데이터까지만 읽을 수 있음
replica.lag.max.messages 사용시 문제점
- 메시지 유입이 순간 증가하여 대부분의 follower가 Out-of-Sync Replica 상태로 변경
- 정상동작하다가 잠깐이라도 지연이 발생하면 OSR로 판단하는 문제가 발생
- 해결책: replica.lag.time.max.ms로 판단해야 함
- Follower가 Leader로 Fetch 요청을 보내는 interval을 체크
Leader를 고르게 분포시키기 위한 방법
- auto.leader.rebalance.enable : 균등 분배 기능 활성화
- leader.imbalance.check.interval.seconds : 불균형 상황 체크 주기 설정
- leader.imbalance.per.broker.percentage : 다른 브로커들보다 Leader를 가져간 비율이 몇 퍼센트인가? (불균형 판단 지표)
'🛳 DevOps > 🚝 Kafka' 카테고리의 다른 글
Kafka Docker Compose로 설치 및 실습해보기 (0) | 2023.05.31 |
---|---|
Kafka의 이해1 - 배경부터 기본 용어 설명 (0) | 2023.05.31 |