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

초보개발님의 프로필 이미지
초보개발

작성한 질문수

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

kafka-console-consumer.sh

토픽의 레코드가 라운드로빈으로 배정되는 방식 질문있습니다.

작성

·

306

0

안녕하세요

말씀해주신 내용들로 간단히 테스트를 진행중인데요

먼저 해당 토픽을 생성하고 파티션을 10개로 늘렸습니다.

key.seprator설정을 하지 않고 기본값으로 메세지를 발행시켰는데요. 그럼 파티션 0번부터 배정이 되어있을줄 알았는데 확인해보니 5번 파티션에 메세지가 들어가있더라구요. 혹시 이렇게 배정이 된 이유를 알 수 있을까요?

 

스크린샷 2023-01-10 오전 12.11.05.png

답변 2

0

초보개발님의 프로필 이미지
초보개발
질문자

아하 친절한 설명 감사합니다~

0

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

안녕하세요

카프카 프로듀스가 레코드를 전송하는 것은 라운드로빈과 유사하지만 완벽하게 라운드로빈을 따라가지 않습니다. 왜냐하면 Sticky partitioning strategy가 기본 파티셔너로 설정되기 때문입니다. 그렇기 때문에 5번에 배정될 가능성도 있습니다.

만약 완전한 라운드 로빈을 원하신다면 RoundRobinPartitioner를 사용하시면 됩니다. https://kafka.apache.org/24/javadoc/org/apache/kafka/clients/producer/RoundRobinPartitioner.html

초보개발님의 프로필 이미지
초보개발

작성한 질문수

질문하기