인프런 커뮤니티 질문&답변

안티푸라민님의 프로필 이미지
안티푸라민

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

레코드-키값에 따른 파티셔닝

작성

·

106

0

레코드 강의 듣다가 궁금한 점이 있어 질문드립니다~

복제 강의에서
프로듀서나 컨슈머는 오직 리더 파티션과 통신하는것으로 이해했습니다.

하지만 레코드-키 값으로 파티셔닝이 처리된다면
리더 파티션이 아닌 팔로워 파티션과도 통신이 이루어지는건가요?

답변 1

1

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안티푸라민님,

메시지 키가 셋팅된 레코드를 전송시 전달되는 파티션은 반드시 리더 파티션입니다. 즉, 프로듀서는 반드시 리더 파티션과 통신하며 팔로워 파티션과 통신하는 일은 절대 없다고 보시면 됩니다.

잘 이해가지 않는 부분이 있어서요

메시지-키는 파티셔너에 따라 토픽의 파티션 번호가 정해진다 
메시지-키가 null이면 특정 토픽의 파티션에 라운드 로빈으로 전달된다

위는 레코드 강의 내용입니다

예를 들어

| 리더 파티션 0 | 팔로워 파티션 1 | 팔로워 파티션 2 | 일 때
파티셔너에 따라 파티션 번호가 2로 정해지면 팔로워 파티션2로 통신,
파티션 번호가 null 이라면 0 > 1 > 2 > 0 .... 라운드 로빈으로 통신
하는것으로 보여서요

항상 리더파티션과 통신한다면, 강의 내용에서 말하는 파티션은 어떤 파티션인가요?

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

메시지키가 null인 레코드가 토픽에 레코드를 보내면 여러 리더 파티션에 라운드 로빈으로 전송하게 되는 것입니다. 예를 들어 2개 파티션으로 이루어진 토픽이 있다고 한다면 0번 파티션(리더)와 1번 파티션(리더)에 번갈아가면서 전송하는 것이죠. 그리고 파티션 번호가 null로 설정되는 경우는 없습니다.

답변 감사합니다~~!!

안티푸라민님의 프로필 이미지
안티푸라민

작성한 질문수

질문하기