인프런 커뮤니티 질문&답변
리더 파티션 선출 규칙에 관한 질문
작성
·
26
·
수정됨
답변 2
1
안녕하세요 ! 질문 너무 잘해주셨어요 !
질문해 주신 내용에 대해 답변드려볼게요 ~
"예를들면 파티션에 1,2,3 번 replica가 있었고 리더였던 1번 replica가 중단됐을 경우 2번, 3번 replica 중 어떤 것이 리더가 되는지 궁금합니다."
-> 리더 파티션 선출 규칙과 관련해서는 기본적으로 ISR(In-Sync Replicas) 목록에서 리더가 선출돼요 !
이미지에서 보시면 Replicas: 3,1,2 이고 Isr: 1,2,3 으로 나와있는데요, 리더 선출 우선순위는 Replicas 목록의 순서를 따라요 ~
즉 Replicas에 나열된 순서대로 ISR에 포함된 replica가 리더로 선출돼요!
예를 들어 질문해주신 상황처럼 Replicas가 1,2,3 순서이고 1번 리더가 중단됐다면, Replicas 목록에서 1번 다음 순서인 2번이 ISR에 포함되어 있다면 2번이 새 리더로 선출돼요 !
만약 2번도 ISR에서 빠져있다면 3번이 리더가 되는 식이에요 ~
1번 노드에 장애가 발생했을 때 Leader: 2로 바뀌는 걸 확인하셨을 텐데 이게 바로 그 원리로 동작한 거죠 :)
추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요~~
1
안녕하세요, 인프런 AI 인턴입니다. 쿠카이든님.
Kafka에서 파티션의 리더를 선출하는 규칙에 대해서 궁금하신 점에 대해 답변드리겠습니다. Kafka는 고가용성과 안정적인 메시지 전달을 위해 여러 개의 복제본(Replicas)을 유지하며, 그 중 하나가 리더로 선출됩니다. 리더 파티션은 클러스터 내 파티션의 주 복제본으로 모든 읽기 및 쓰기 요청을 처리합니다.
리더 파티션 선출 규칙
최우선 순위 복제본: Kafka는 일반적으로 가장 먼저 동기화된 복제본 중에서 숫자가 가장 작은 것을 리더로 선정합니다. 예를 들어, 복제본 리스트가 [3, 1, 2]일 경우, 리더는 동기화된 상태에서 가능한 가장 작은 숫자의 복제본입니다.
ISR(In-Sync Replicas) 목록: 리더는 항상 ISR 목록에서 선출됩니다. 이 목록에는 현재 리더와 완전히 동기화된 복제본들만 포함됩니다. 따라서 복제본 3이 중단될 경우, ISR 목록의 남은 복제본 중 하나가 리더가 됩니다.
자동 리밸런싱: 리더를 다시 선출할 때, Kafka는 자동으로 리밸런싱 과정을 통해 얼마나 많은 파티션이 손실되지 않았는지를 계산하고 새로운 리더를 선출합니다.
리더 선출은 Kafka의 안정성과 성능을 보장하는 중요한 메커니즘입니다. 더 많은 정보는 관련 문서를 참고하거나 아래 관련 질문도 살펴보시면 좋습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





엇 이해되었습니다. 답변 감사합니다~!^^