inflearn logo
강의

Course

Instructor

Introduction to Kafka for Immediate Real-World Use

[Practice] What happens if the leader partition fails? / What happens if one Kafka server goes down?

리더 파티션 선출 규칙에 관한 질문

69

kukaeden

16 asked

0

image.png

강사님, 안녕하세요. 강의 잘듣고 있습니다!

 

실습을 하고 있는데 궁금한 점이 있어서 글을 남깁니다.

 

혹시 파티션 중 리더 replica를 선출하는 규칙이 있는지 궁금합니다.

 

예를들면 파티션에 1,2,3 번 replica가 있었고 리더였던 1번 replica가 중단됐을 경우 2번, 3번 replica 중 어떤 것이 리더가 되는지 궁금합니다.

 

시간되실때 답변 꼭 부탁드립니다. 감사합니다!

kafka EDA msa devops infrastructure 선물하기-좋은

Answer 2

1

jscode

안녕하세요 ! 질문 너무 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

"예를들면 파티션에 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

kukaeden

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

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 쿠카이든님.

Kafka에서 파티션의 리더를 선출하는 규칙에 대해서 궁금하신 점에 대해 답변드리겠습니다. Kafka는 고가용성과 안정적인 메시지 전달을 위해 여러 개의 복제본(Replicas)을 유지하며, 그 중 하나가 리더로 선출됩니다. 리더 파티션은 클러스터 내 파티션의 주 복제본으로 모든 읽기 및 쓰기 요청을 처리합니다.

리더 파티션 선출 규칙

  1. 최우선 순위 복제본: Kafka는 일반적으로 가장 먼저 동기화된 복제본 중에서 숫자가 가장 작은 것을 리더로 선정합니다. 예를 들어, 복제본 리스트가 [3, 1, 2]일 경우, 리더는 동기화된 상태에서 가능한 가장 작은 숫자의 복제본입니다.

  2. ISR(In-Sync Replicas) 목록: 리더는 항상 ISR 목록에서 선출됩니다. 이 목록에는 현재 리더와 완전히 동기화된 복제본들만 포함됩니다. 따라서 복제본 3이 중단될 경우, ISR 목록의 남은 복제본 중 하나가 리더가 됩니다.

  3. 자동 리밸런싱: 리더를 다시 선출할 때, Kafka는 자동으로 리밸런싱 과정을 통해 얼마나 많은 파티션이 손실되지 않았는지를 계산하고 새로운 리더를 선출합니다.

리더 선출은 Kafka의 안정성과 성능을 보장하는 중요한 메커니즘입니다. 더 많은 정보는 관련 문서를 참고하거나 아래 관련 질문도 살펴보시면 좋습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

2. Kafka 설치 파일 다운받기 404 Not Found 오류 관련

0

59

2

UserSignedUpEventConsumer 에서 로그 DB 저장 문의

0

51

2

kafka 실패 후 재시도 DLT 소비 무한으로 하는 현상이 발생합니다

1

141

2

질문드립니다.

0

53

2

잘못된 이메일 주소로 인해 발송 실패 코드

0

107

3

카프카 서버 관련 질문입니다.

0

89

2

선생님 질문이 있습니다. 왜 바로 aws 설치 하시는지 궁금합니다.

0

98

2

Kafka 음성메세지 브로커로도 적합한가요?

0

78

2

재시도조차 실패한 메시지 사후 처리하기

1

110

2

retry 시 동작과정 질문

0

119

2

JsonSerializer & JsonDeserializer

0

73

2

auto.create.topics.enable=false 설정

0

101

2

email 발송 로직 관련

0

69

2

concurrency 설정 + 같은 groupId 내에 consumer 여러개

0

74

2

concurrency 동작 안됨

0

72

3

컨슈머 서버 점진적 배포 시나리오

0

63

2

Connection -1

0

58

2

적정 파티션 개수 계산하는 방법 질문드립니다

0

126

2

섹션5 33 질문드립니다

0

47

1

aws아닌 도커로는 안되나요?

0

102

2

파티션 증가 질문드립니다

0

76

2

섹션7 51 컨슈머서버 무한 리로드?

0

141

4

섹션6 43 질문드립니다

0

57

3

kafka [37강의]

0

64

2