본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

클립13

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)

Broker Node 전체가 장애가 난 경우.


II. 학습 후기 700자 이상 (공백 제외)

심화 공부 2번째 시간으로 장애에 대한 깊이 있는 내용을 다루고 있다.

요약

ISR(In-Sync Replicas) 관리

  • 메시지가 ISR 리스트의 모든 Replica(복제본)에서 수신되면 Commit된 것으로 간주
  • Leader는, Kafka Cluster의 Controller에 의해 모니터링되는, ZooKeeper의 ISR 목록에 대한 변경 사항을 유지
  • 리더 브로커가 팔로워의 동기화 상태를 모니터링하며, 지연이 발생한 팔로워를 ISR 목록에서 제거
  • n개 복제본 존재 시 n-1개 장애까지 허용 가능

리더 장애시 처리 절차

  • 컨트롤러가 새로운 리더 선출
  • 새로 선출한 Leader 및 ISR 정보는 ZooKeeper에 기록 → 컨틀롤러 장애로부터 보호하기 위해서
  • 클라이언트 메타 데이터 업데이트를 위해 모든 Broker에 전파 → 클러스터 상태 갱신

분산 시스템을 배우며 내 주의력도 분산..

  • 카프카의 강의를 들으면 분산 시스템의 복잡성을 배우는 동시에 내 머리속이 복잡해지는 것 같다.
  • 계속적으로 주키퍼 클러스터가 나오는데 주키퍼가 없는 모드에서는 어떻게 되는지는 왜 설명을 해주지 않는걸까
  • 특히 학습인증샷에 찍은 예제가 좋은데.. 지금까지 다왔던 단순 파티션 장애가 아닌 브로커 장애를 다루고 있다.
    • 4개 브로커, 4개 파티션, 복제 계수 3 환경에서의 장애 시나리오의 예시이며
    •  장애 브로커가 포함된 파티션의 리더 재선출 과정에 대해 다루고 있는데 어렵지만 슬라이드가 좋았다 ㅋ
  • 일단 팔로워가 실패하는 것은 전혀 문제가 안된다
  • 리더가 실패하는 경우 리더 새선출과 ISR 갱신 , 푸쉬 , 캐싱이 이뤄지는 부분이 핵심
  • 리더가 선출 될때까지 해당 파티션을 사용할 수 없게 되는 부분으로 빠른 재선출이 필요해 보인다
  • 리더 선출을 담당하는 컨트롤러의 장애시 주키퍼가 컨트롤러를 뽑는다고 기본 개념 시간에 배웠었는데..
    심화시간에는 해당 부분도 나올거라고 기대했는데 해당 부분은 없는 것 같아 아쉬운 부분
  • 여튼 결론은 다음과 같아 보인다(맞나..)
    • Follower가 실패하는 경우
      • Leader에 의해 ISR 리스트에서 삭제됨
      • Leader는 새로운 ISR을 사용하여 Commit함
    • Leader가 실패하는 경우
      • Controller는 Follower 중에서 새로운 Leader를 선출
      • Controller는 새 Leader와 ISR 정보를 먼저 ZooKeeper에 Push
      • 그 후  로컬 캐싱을 위해 Broker에 Push

 

블로그 이미지

감동맨

rkaehdaos의 블로그

,